将函数的 JavaScript 返回值存储到服务器端的相应 Asp Control OnClick 事件

Store javascript return value of a function to the respective Asp Control OnClick event at server side

本文关键字:Asp Control OnClick 事件 JavaScript 函数 返回值 存储 服务器端      更新时间:2023-09-26
<asp:Button ID="Button1" runat="server" Text="Lunch" CausesValidation="false" 
    CssClass="bigbuttons" 
    style="background:url(../App_Themes/Images/green-box.gif)" 
    Font-Bold="True"  ForeColor="White" Font-Size="Large" 
    OnClientClick="openmodalWin(); return false;"  />
<br />

JavaScript

function openmodalWin() {
        var CloseTImeOfPopUp = window.showModalDialog("ClockPopUP.aspx", "Clock", 
                                  "dialogWidth:550px;dialogHeight:350px,");
}

如您所见,我在 ButtonClick 事件上调用 javascript 函数"openmodalWin"。我检查了该函数是否成功返回了 CloseTimeofPopUp,并且我能够通过Alert()显示它。

[主持人编辑:我希望将该函数的返回值发送到服务器,以便我可以将其存储在数据库中?我想要 javascript 函数的返回值,我可以存储在同一个服务器端代码上,即 Button1_OnClick() 事件,然后我可以将其存储到数据库中。

请告诉我我该怎么做?

您可以在

隐藏变量(使用 runat="server 定义)中设置 CloseTimeOfPopUp 的值,然后您可以在代码隐藏中访问它。

在 aspx 页中,您可以执行以下操作:

<input type="hidden" runat="server" id="hidden1" />

在 JavaScript 中

function openmodalWin() {
        var CloseTImeOfPopUp = window.showModalDialog("ClockPopUP.aspx", "Clock", "dialogWidth:550px;dialogHeight:350px,");
        document.getElementById('hidden1').value = CloseTImeOfPopUp;
        }

在 C# 中的代码隐藏中

var myVal = hidden1.Value;

除了 Habib.OSU
在您打开的页面中 显示模态对话框你应该像这样返回值...
模态对话框页面中的 JavaScript:

function ReturnVal(valToReturn) {
        window.returnValue = valToReturn;
        window.close();
    }