過去にこのようなコードを使用して、asp.net Webページにアラートメッセージを正常にポップアップ表示しました。今では機能していません。理由がわかりません。
ScriptManager.RegisterStartupScript(this, typeof(Page), UniqueID,
"alert('This pops up')", true);
何か案は?
私の頭の上から:
GetType()
の代わりにtypeof(Page)
を使用します。Page.UniqueID
の代わりにキー定数を渡します。これは、名前付きコントロールによって使用されることになっているため、それほど意味がありません。PreRender
フェーズでスクリプトを登録します。protected void Page_PreRender(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(this, GetType(), "YourUniqueScriptKey",
"alert('This pops up');", true);
}
このコードを試してください...
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "script", "alert('Hi');", true);
どこUpdatePanel1
は、ページ上のid
のUpdatepanel
です
スクリプトを引き起こすコントロールがupdatepanel内にある場合、最初の引数にupdatepanel idを配置する必要があります。そうでない場合は、update panelの代わりにキーワード「this」を使用します
ScriptManager.RegisterStartupScript(UpdatePanel3, this.GetType(), UpdatePanel3.UniqueID, "showError();", true);
同様の問題に遭遇しました。しかし、この問題は、リクエストを取り込むためにページを設計した方法が原因で発生しました。すべての.jsファイルをページに適用する最後のものとして配置したため、ドキュメントの最後にあります。 .jsファイルには、私の機能がすべて含まれています。スクリプトマネージャーは、この関数を呼び出すことができるように、ロード時に呼び出される関数と共に既に存在するjsファイルを必要とするようです。これが誰にも役立つことを願っています。