如何从JQuery对话框调用c#按钮事件
本文关键字:按钮 事件 调用 对话框 JQuery | 更新日期: 2023-09-27 18:26:11
这是我的先例实现:
在示例.aspx中:
<asp:Button ID="rejectButton" runat="server" Text="REJECT" OnClick="OnRejectButtonClick"/>
以及在example.aspx.cs中:
protected void OnRejectButtonClick(object sender, EventArgs e)
{
// a lot of stuff...
rejecter();
}
这是有效的。
现在我需要一个对话框来确认拒绝。现在我的代码是:
在示例.aspx中:
<asp:Button ID="rejectButton" runat="server" Text="REJECT" OnClientClick="return openDialog();"/>
<div id="dialog" title="Seleziona causa">
<p>... bla bla...</p>
</div>
<script>
$(function () {
$("#dialog").dialog({ autoOpen: false, modal: true, show: "blind", hide: "blind",
buttons: {
"Okay": function () {
OnRejectButtonClick; // DOESN'T WORK!
$(this).dialog("close");
},
"Annulla": function () {
$(this).dialog("close");
}
}
});
});
function openDialog() {
$("#dialog").dialog("open");
return false;
}
</script>
example.aspx.cs不会更改。
但在这种更改之后,对OnRejectButtonClick事件的调用不再触发。我该怎么解决这个问题?
如果你不想使用jquery,你可以使用这个:
__doPostBack('<%= rejectButton.UniqueID %>', "");
所以你的代码是这样的:
$(function () {
$("#dialog").dialog({ autoOpen: false, modal: true, show: "blind", hide: "blind",
buttons: {
"Okay": function () {
__doPostBack('<%= rejectButton.UniqueID %>', "");
$(this).dialog("close");
},
"Annulla": function () {
$(this).dialog("close");
}
}
});
});
您需要使用jquery来调用它。
//before you click the button you should set a global variable
serverEx = true;
$("#rejectButton").click();
在您的拒绝按钮openDialog
的OnClientSciprt
方法中
function openDialog() {
if(serverEx)
return true;
$("#dialog").dialog("open");
return false;
}
如Chris Davis所说,将ClientIDMode="Static"
添加到按钮中。
你可以试试这样的东西:
__doPostBack('rejectButton','OnClick');
以实际执行asp.net操作。