我想要做的是当用户在提示框中输入文本并按下OK按钮时,提示框会将值发送回string prmt;
,如果他们取消了提示,它将什么都不做
代码:
string prmt;
if(ren>=1)
{
ClientScript.RegisterStartupScript(this.GetType(), "prompt", "prompt('Enter your message here.')", true);
//if(ok){}
//if(cancel){}
}
对不起我的语法。
答案 0 :(得分: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
字段的值后,您就可以了。