我想从后面的代码运行确认对话框。我搜索了谷歌,我发现的只是消息是预定义的,并且确认对话框链接到按钮onclick事件。我无法将我的确认对话框链接到onclick事件,因为我需要检查代码隐藏中的场景并询问用户是否要继续。
我有1个按钮和大约10个不同的场景(每个场景都有不同的问题),我想询问用户,是否要继续。如果他按OK,那么我想继续我的代码,否则我想取消。
我创建了一些javascript函数
<script type="text/javascript">
function Confirm() {
var hidden = document.getElementById("<%=HiddenField1.ClientID %>");
if (confirm("Test?")) {
hidden.value = "ok";
window.location.replace("PrijavaIzpit.aspx");
} else {
hidden.value = "cancel";
}
}
</script>
我从后面的代码中调用
Page.ClientScript.RegisterStartupScript(GetType(), "msgbox", "Confirm();", true);
但问题是,如果我将return
放在我调用javascript函数的行之后,此代码才会运行。
这是正确的想法吗?我该怎么办?用javascript可以吗?
答案 0 :(得分:1)
Vitor是正确的,使用AJAX来调用ASP.NET代码隐藏页面。由于您上面没有任何实际的AJAX代码,我只是指向Dave Ward's fantastic page,在那里我学习了如何使用jQuery进行AJAX。我鼓励你阅读他的ongoing articles关于如何在ASP.NET中使用jQuery,特别是当他谈到使用数据传输对象时(它基本上是一个JSON.stringified JavaScript对象,它在代码隐藏{{1}上反序列化完成工作,回调提供您正在寻找的数据)。
你没有提到你是否使用jQuery,但如果你是,你可以直接调整他的方法,如果你使用纯JS,你将不得不弄清楚如何进行AJAX调用那样。这并不难,只是更复杂。
您可能还会发现this SO answer有帮助。
或者对问题采取不同的看法this SO answer。
答案 1 :(得分:0)
您无法在Web应用程序方案中运行代码后面的确认对话框。在客户端,使用javascript对服务器端进行ajax调用以检查场景,然后,在ajax回调上继续与用户交互..