我有一个从应用程序中的各种网页调用的常用功能(自定义控件的功能)
在常用功能中,我调用这样的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调用该函数(不使用参数)?
答案 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
}
如果有更好的解决方案,请教我。