ASP.NET - JavaScript からポストバック(サンプルあり)

📋 目次(クリックで展開)

JavaScript でポストバックを行う方法として ScriptManager の __doPostBack メソッドがあります。

簡単な実装例

<head runat="server">
<script type="text/javascript">
function buttonClick() {
var value = "test";
__doPostBack("buttonClick", value);
}
</script>
</head>
<div>
<asp:ScriptManager id="ScriptManager1" runat="server"></asp:ScriptManager>
<input onclick="buttonClick()" type="button" value="click" />
</div>

__doPostBack メソッドで渡されたパラメータを取得します。Params コレクションからインデクサ指定で要素を取り出すか、Params.Get メソッドを利用します。

protected void Page_Load(object sender, EventArgs e)
{
if(Request.Params.Get("__EVENTTARGET") != null)
{
Debug.WriteLine(Request.Params.Get("__EVENTARGUMENT")); //test
Debug.WriteLine(Request.Params["__EVENTARGUMENT"]); //test
}
if (Request.Params.Get("__EVENTTARGET") != null)
{
Debug.WriteLine(Request.Params.Get("__EVENTTARGET")); //buttonClick
Debug.WriteLine(Request.Params["__EVENTTARGET"]); //buttonClick
}
}

サンプルアプリケーション

DoPostback_Test_CS.zip

※ サンプルアプリケーションは、.NET Framework 4.8 をターゲットにしていまs。

参考情報


💬 コメント