ASP.NET:如何将window.ReturnValue传递给C#代码?

时间:2013-02-15 06:48:12

标签: javascript return-value

我使用showModalDialog函数打开弹出窗口,这是ASP.NET页面。在我从下拉列表中选择一些选项后,我填充window.ReturnValue并按下OK按钮。模态弹出窗口关闭,但我不知道如何将返回值传递给C#代码后面继续进行。

以下是代码:

打开弹出窗口:

function ClientItemClicked(sender, eventArgs)
{
    if (eventArgs.get_item().get_value() == "excel")
    {
        var retVal = window.showModalDialog("ExportToExcelChoice.aspx", null, "dialogWidth: 400; dialogHeight: 200; center: yes; resizable: no;");
    }
}

关闭弹出窗口:

function ReturnValue() {
    var choice = document.getElementById("DropDownList1").value;
    if ((window.opener != null) && (!window.opener.closed)) {
        window.ReturnValue = choice;
        var result = window.ReturnValue;
    }
    window.close();
}

我使用Firefox。

1 个答案:

答案 0 :(得分:1)

创建服务器端隐藏输入并为其分配返回值。

使用jQuery:

$("#<%=serverhidden.ClientID%>").val(retVal)

或javascript:

document.getElementById("<%=serverhidden.ClientID%>").value = retVal

现在回发后,您可以从服务器端的隐藏输入中访问该值。