0

アプリケーションのさまざまな Web ページから呼び出される共通の関数 (カスタム コントロールの関数) があります。
共通関数では、次のような 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 から呼び出されたことを確認するために、もう 1 つのパラメーターを渡す必要があります。
このような-

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

私の質問は、共通関数で、関数が UpdatePanel から呼び出されているかどうか (パラメーターを使用せずに) を知ることはできますか?

4

1 に答える 1

0

私は答えを見つけたので、これを使用します(ここから入手)-

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
}

より良い解決策があれば、教えてください。

于 2012-08-31T10:33:35.533 に答える