javascript – 从java脚本调用asp.net中的服务器端事件
作者:互联网
肯定会被标记为重复的,但经过大量的问题和例子,我无法解决我的问题.
我想要的是?
从客户端java脚本调用asp.net中的服务器端事件处理程序它不在服务器端.我通过设置断点检查它,页面轻弹但没有调用服务器端方法.
关于代码背后的点击事件是
protected void btninsert_Click(object sender, EventArgs e)
{
// my code
}
aspx文件
<asp:Button ID="btninsert" runat="server" ValidationGroup="form" CssClass="btn"
OnClientClick="DoPost()" Text="Save" />
Javascript方法是
function DoPost() {
function DoPost() {
var chk = document.getElementById('<%= chkstatus.ClientID %>');
if (chk.checked)
__doPostBack('<%= btninsert.ClientID %>', 'OnClick');
return true;
//return false;
}
}
我也尝试过这个
__doPostBack(‘btninsert’,’OnClick’);和__doPostBack(‘btninsert’,”);和$(‘btnSubmit’).触发器(‘click’);没有成功.
我究竟做错了什么?
编辑:如果我使用OnClick事件,那么它将进入服务器端事件,而不管DoPost方法中的if条件.
解决方法:
啊,这很简单.感谢所有答案.
解:
对服务器端事件使用OnClick属性,对客户端事件使用OnClientclick进行验证.
OnClientClick javascript方法将返回true和false,它决定了serveride onclick事件是否会触发.
代码将是这样的
<script type="text/javascript">
function DoPost() {
var chk = document.getElementById('<%= chkstatus.ClientID %>');
if (chk.checked) {
var c = confirm("are you sure?");
if (c == true) {
return true;
} else
{ return false; }
}
return true;
}
</script>
和Button标签
<asp:Button ID="btninsert" runat="server" ValidationGroup="form" CssClass="btn"
OnClientClick="return DoPost();" OnClick="btninsert_Click" Text="Save" />
标签:javascript,asp-net,postback 来源: https://codeday.me/bug/20191002/1842028.html