回调中有两个方法
GetPostBackClientHyperlink() 与 GetPostBackEventReference()
他们之间的区别如下:
我们来看二个例子
<%=Page.ClientScript.GetPostBackClientHyperlink(Button1, "") %>;
<%= Page.ClientScript.GetPostBackEventReference(Button1,"") %>
第一句.结果类似于
javascript:__doPostBack('Button1','');
第二句,结果类似于
__doPostBack('Button1','');
我们可以看到,这二个作用基本上差不多,字面意思,
可以理解
第一个为连结生成回传语句用,
第二个为引发某控件事件.所写的一个回传方法
如果你使用
Page.ClientScript.GetPostBackClientHyperlink或
Page.ClientScript.GetPostBackEventReference
页面上还会生成
<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>
这段js代码
通过字面意思,我们可以理解
eventTarget -> 表明引发回传的控件 ,asp.net通过判断此参数来选择所执行的事件
eventArgument -> 表明事件参数 (这个参数如果实现在IPostBackEvent..好像是这么拼的,这个接口,可以获取到.偷点懒用Request.Pamas["__EVENTARGUMENT"] 也行)