我想在我的aspx页面中使用一个对话框(确定并取消)。
当我按下" ok"我的服务器端代码应该执行,当我按"取消"什么都不应该发生,即使回复也不应该发生。
我想要实现的工作流程是:
我怎样才能做到这一点?
答案 0 :(得分:0)
最简单的方法是进行像这样的onclick事件(从头顶写,未经测试):
onclick="return confirm('Are you sure?');"
如果单击取消(从而取消单击事件),则应将返回false传递给onclick事件,如果单击“确定”,则返回true。如果它是一个ASP按钮,那么事件是OnClientClick而不是OnClick。
要调用函数,事件处理程序将为:
onClientClick="return YourJavascriptFunction();"
其中函数是这样的:
function YourJavascriptFunction() {
return confirm("Are you sure?");
}
显然,该函数可以做的不仅仅是这个,但它需要返回对话框的结果。
答案 1 :(得分:0)
您可以通过javascript / jquery:
执行此操作<script type='text/javascript'>
document.getElementById("someButtonId").onclick = function() {
var confirmation = window.confirm("Are you sure?"); //confirmation variable will contain true/false.
if(confirmation) {
vvar dataValue = { "name": "myName", "isGoing": "toAPlace", "returnAddress": "anyAddress" };
$.ajax({
type: "POST",
url: "Default.aspx/OnSubmit",
data: dataValue,
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Request: " + XMLHttpRequest.toString() + "\n\nStatus: " + textStatus + "\n\nError: " + errorThrown);
},
complete: function (jqXHR, status) {
alert("complete: " + status + "\n\nResponse: " + jqXHR.responseText);
}
});
}
else { /* do nothing */ }
}
</script>
在这种情况下,您可以在按钮中添加一个点击事件,此事件会打开确认。如果用户响应&#34;是&#34;,则会调用Default.aspx页面中的以下OnSubmit
函数:
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
// method called from the javascript
[WebMethod]
public static string OnSubmit(string name, bool isGoing, string returnAddress)
{
return "it worked";
}
}
最后,在javascript中观察甚至是失败案例的处理。