asp.net下利用JS实现对后台CS代码的调用方法

借口腾不出时间去健身的人,迟早会腾出时间去看病!善待自己,幸福无比,善待别人,快乐无比,善待生命,健康无比。梦想,就是这样一个词,不在于拥有,而在于追求。
要求是这样的:在gridView中有些行是没有处理过的,用户用鼠标点击该行后即表示用户处理过这一行了,行的状态要和普通的一样了,但是GridView没有对行的事件处理,必须要用JavaScript对后台的事件进行调用,如果细心的话你会发现实际上在我们在页面上添加一个LinkButton并给它添加一个事件之后,实际上就是通过JavaScript进行的回传。
当我们添加一个LinkButton,生成页面并查看源代码,会发现比没有添加LinkButton之前多了些代码 <div>
<inputtype="hidden"name="__EVENTTARGET"id="__EVENTTARGET"value=""/>
<inputtype="hidden"name="__EVENTARGUMENT"id="__EVENTARGUMENT"value=""/>
</div>
<scripttype="text/javascript">
<!--
vartheForm=document.forms['form1'];
if(!theForm){
theForm=document.form1;
}
function__doPostBack(eventTarget,eventArgument){
if(!theForm.onsubmit||(theForm.onsubmit()!=false)){
theForm.__EVENTTARGET.value=eventTarget;
theForm.__EVENTARGUMENT.value=eventArgument;
theForm.submit();
}
}
//-->
</script> 而LinkButton的事件实际上就是JavaScript事件 <aid="LinkButton1"rel="nofollow noopener noreferrer" href="javascript:__doPostBack('LinkButton1','')">LinkButton</a> 那么如果有了上面的这部分JavaScript是不是我可以利用JavaScript进行回传呢?
当然可以了,但是我们有一点需要注意一下,我们需要修改页面的一个属性EnableEventValidation,默认是true,我们把它修改成false,即页面中使用<%@PageEnableEventValidation="false"%>否则会报错。
下面是我利用Html控件进行的回传调用LinkButton的事件 <inputid="Button1"type="button"value="button"onclick="__doPostBack('LinkButton1','')"/> 如果那天需要利用JS进行回传了,而页面中有没有可以添加后就生成这些代码的控件,那就把把上面的代码拷到页面了不就成了吗,:-)
注意这个方法可以调用已经存在的控件的事件。不能调用方法,不知道有没有别的方法可以实现。

本文asp.net下利用JS实现对后台CS代码的调用方法到此结束。要铭记在心:每天都是最美好的日子。小编再次感谢大家对我们的支持!

标签: net asp