从UpdatePanel调用函数?

时间:2012-08-31 10:07:10

标签: c# javascript custom-controls updatepanel

我有一个从应用程序中的各种网页调用的常用功能(自定义控件的功能) 在常用功能中,我调用这样的javascript(示例代码) -

public void ShowMessage(string strMessage)
{
   string s=String.Empty;
   s="<script type='text/javascript'>\n";
   s = s + "alert('+strMessage+');";
   s = s + "</script>";
   Page.ClientScript.RegisterStartupScript(typeof(Page), this.ClientID, s);
}


当我从使用UpdatePanel的页面调用此函数时,Page.RegisterStartUpScript不起作用。 所以,我必须使用
ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), this.ClientID, s, false);
现在,我必须传递一个参数来确定从UpdatePanel调用的函数。
像这样 -

public void ShowMessage(string strMessage,bool isFromUpdatePanel){..}

我的问题是,在常用功能中,我是否可以知道是否从UpdatePanel调用该函数(不使用参数)?

1 个答案:

答案 0 :(得分:0)

我找到了答案,我将使用此(got from Here) -

string args= Page.Request.Params.Get("__EVENTTARGET");
if (!String.IsNullOrEmpty(args))
{
    //Called From Update Panel(or) UpdatePanel is posting back
}
else
{
    //Called From a page with no Update Panel
}

如果有更好的解决方案,请教我。