0

我想在 ASP.NET C# 中使用 JS 收集动作响应。所以在 ASP.NET 按钮上单击我正在执行以下操作

ASPX 页面上的按钮

<asp:Button ID="btn_add" runat="server" CssClass="button btn-entry"
                        Text="Add" OnClick="btn_add_Click"

在 btn_add_Click 里面,我有

bool continue_ = isEmpty_InputForm(input_form_index);

        if (!continue_)
        {

            Page.ClientScript.RegisterStartupScript(this.GetType(), 
                "onclick", 
                "<script type=\"text/javascript\">"
                + " var action_res = document.createElement(\"INPUT\");"
                + " action_res.type = \"hidden\";"
                + " action_res.name = \"action_res\";" 
                + " action_res.value = null;"
                + " if (confirm('Are you sure?')) {"
                + " action_res.value = 'Yes';"
                + " }"
                + " document.forms[0].appendChild(action_res);"
                //+ "confirm('Are you really sure?');"
                + " </script>", 
                false);
        }

然后收集action_res我正在做的 JS var的值

string action_res = Request.Form["action_res"];

该页面为我提供了确认弹出窗口,但action_res价值始终是null

我是 JS 新手,请有人帮我找出错误。

4

1 回答 1

0

以这种方式考虑 - 如果发布的页面正在生成该脚本,则服务器代码不会等待来自该确认对话框的信息。它总是为空,因为服务器不知道var action_res; 在回发之前没有建立。也许使用 JavaScript 在客户端处理确认,在您的页面 ( ) 上设置隐藏输入input id="confirmation_res" type="hidden" runat="server" />并调用string action_res = action_res.Value;您的 C# 代码?

于 2014-07-26T18:00:18.350 回答