ASP.NET 中 Page 对象有几个方法用于得到客户端 PostBack 的 javascript 代码,其中有下面两个:
GetPostBackEventReference 和 GetPostBackClientEvent

翻看 msdn 里的解释没弄明白为什么这里要安排两个方法,唯一的区别就是 GetPostBackEventReference 有两个重载形式。于是我用 Reflector 看了一下,代码分别如下:

System.Web.UI.Page.GetPostBackEventReference(Control, String) : String

谁能告诉我这两个方法的区别?[EditorBrowsable(EditorBrowsableState.Advanced)]
谁能告诉我这两个方法的区别?
public string GetPostBackEventReference(Control control, string argument)
{
谁能告诉我这两个方法的区别?      
string[] textArray1;
谁能告诉我这两个方法的区别?      
this.RegisterPostBackScript();
谁能告诉我这两个方法的区别?      
if (this._inOnFormRender)
{
 ;
谁能告诉我这两个方法的区别?            
return string.Concat(textArray1);
谁能告诉我这两个方法的区别?      }

 ;
谁能告诉我这两个方法的区别?      
return string.Concat(textArray1);
谁能告诉我这两个方法的区别?}

System.Web.UI.Page.GetPostBackClientEvent(Control, String) : String

谁能告诉我这两个方法的区别?[EditorBrowsable(EditorBrowsableState.Advanced)]
谁能告诉我这两个方法的区别?
public string GetPostBackClientEvent(Control control, string argument)
{
谁能告诉我这两个方法的区别?      
return this.GetPostBackEventReference(control, argument);
谁能告诉我这两个方法的区别?}

可以看到,第二个方法仅仅是简单的调用了上面方法的基本形式而已,那么为什么还需要这个 GetPostBackClientEvent 呢? 哪位能解释一下。

相关文章: