4

我想要做的是当用户在提示框中输入文本并按下 OK 按钮时,提示框会将值发回给string prmt;,如果他们取消了提示,它将什么也不做。

代码:

string prmt; 
if(ren>=1)
{

    ClientScript.RegisterStartupScript(this.GetType(), "prompt", "prompt('Enter your message here.')", true);

//if(ok){}
//if(cancel){}

}

对不起我的语法。

4

1 回答 1

5

对于这个问题,我能想到的最好的解决方案是 AJAX,但还有另一种方法。在 HTML 文件中创建一个隐藏字段,如下所示:

<form id="theform" runat="server">
        <input type="hidden" id="hidValue" runat="server" />
</form>

现在,应该做的下一件事是在您的 HTML 文件中添加一个 JavaScript 块。此代码段将获取提示的值并将其存储在我们之前创建的隐藏字段中。这样的事情可能会起作用:

<script type="text/javascript">
        function storeinput(value) {
            document.getElementById("<%=hidValue.ClientID%>").value = value;
        }
</script>

这创建了一个storeinput函数,调用该函数时会将隐藏字段的值设置为提供的value参数。接下来我们需要做的是将它们与 ASP.NET 连接在一起。代替

ClientScript.RegisterStartupScript(this.GetType(), "prompt", "prompt('Enter your message here.')", true);

做这个:

ClientScript.RegisterStartupScript(this.GetType(), "prompt", "var value = prompt('Enter your message here.'); storeinput(value);", true);

或者类似的东西(我对 ASP.NET 并没有真正的经验,但我想这会很好)。在您使用您最喜欢的 ASP.NET 方式简单地检查该hidValue字段的值之后,您就可以开始了。

于 2013-08-29T06:30:52.510 回答