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

 更新时间:2007年04月29日 00:00:00   作者:   我要评论

要求是这样的:在gridView中有些行是没有处理过的,用户用鼠标点击该行后即表示用户处理过这一行了,行的状态要和普通的一样了,但是GridView没有对行的事件处理,必须要用JavaScript对后台的事件进行调用,如果细心的话你会发现实际上在我们在页面上添加一个LinkButton并给它添加一个事件之后,实际上就是通过JavaScript进行的回传。
      当我们添加一个LinkButton,生成页面并查看源代码,会发现比没有添加LinkButton之前多了些代码

<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
</div>
<script type="text/javascript">
<!--
var theForm = 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事件

<a id="LinkButton1" href="javascript:__doPostBack('LinkButton1','')">LinkButton</a>

那么如果有了上面的这部分JavaScript是不是我可以利用JavaScript进行回传呢?
当然可以了,但是我们有一点需要注意一下,我们需要修改页面的一个属性EnableEventValidation,默认是true,我们把它修改成false,即页面中使用 <%@ Page EnableEventValidation="false" %>否则会报错。
下面是我利用Html控件进行的回传调用LinkButton的事件

<input id="Button1" type="button" value="button" onclick="__doPostBack('LinkButton1','')" />

如果那天需要利用JS进行回传了,而页面中有没有可以添加后就生成这些代码的控件,那就把把上面的代码拷到页面了不?#32479;?#20102;吗,:-)
注意这个方法可以调用已经存在的控件的事件。不能调用方法,不知道有没有别的方法可以实现。

相关文章

  • 解析在.net中使用XSLT转换xml文档的示例详解

    解析在.net中使用XSLT转换xml文档的示例详解

    本篇文章是对在.net中使用XSLT转换xml文档的示例进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • asp.net采集网页?#35745;?#30340;具体方法

    asp.net采集网页?#35745;?#30340;具体方法

    采集网页上?#35745;?#30340;主要关键是在怎么解析出页面代码里那些img标签的src属性
    2013-06-06
  • 用.Net的File控件上传文件的解决方案

    用.Net的File控件上传文件的解决方案

    用.Net的File控件上传文件的解决方案...
    2007-04-04
  • 最新评论

    常用在线小工具

    辽宁35选7开奖结果
    优秀德甲俱乐部 北京单场是什么意思 2019年十二生肖号码表 竞彩足球比分软件 星期三大乐透走势图 广东06期开奖号码 牛牛钢琴 中国体彩p3预测胆码 广东快乐十分计划群 凯赢线上娱乐 湖南幸运赛车走势 ag真人视讯是什么原因 贵州快3爱乐彩 曾道人公开一肖中特 体育彩票7位数17175期