cyberhedgehog

导航

GetPostBackEventReference vs GetPostBackClientHyperlink

ClientScriptManager.GetPostBackEventReference 方法和ClientScriptManager.GetPostBackClientHyperlink方法的功能是一样的,都是在客户端生成脚本,当控件的特定事件触发时,可以回发至服务器。

他们在客户端的表现形式有点不同,GetPostBackClientHyperlink表现为:javascript:__doPostBack('mycontrol1','myanchor1'),GetPostBackEventReference 表现为::__doPostBack('mycontrol1','myanchor1')。

能用GetPostBackEventReference的地方,应该是都能用GetPostBackClientHyperlink它来代替(个人观点,仅供参考)。但是,能用GetPostBackClientHyperlink的地方,就不一定了,我参看了一下这两个方法的源码,在GetPostBackClientHyperlink方法的内部,调用GetPostBackEventReference。
internal string GetPostBackClientHyperlink(Control control, string argument, bool escapePercent, bool registerForEventValidation)
{
    
return ("javascript:" + this.GetPostBackEventReference(control, argument, escapePercent, registerForEventValidation));
}


 
我所疑惑的是,既然能用GetPostBackEventReference都可以用GetPostBackClientHyperlink来代替(个人观点,仅供参考),微软为什么不合并成一个方法的呢?这样大家使用的时候,也不用想考虑这两个方法的不同了。希望有朋友能给出一个合理的解释。 

posted on 2008-05-13 15:03  HedgeHog  阅读(458)  评论(0编辑  收藏  举报