Javascriptからポストバック
昨日の続き…、なような、そうでも無いような……w
Javascript(クライアント側の処理)からASP.NET(サーバー側の処理)に移す方法。
ついでに値も渡しちゃうよ!
フォームを用意します。
<form id="aspnetForm" runat="server">
<div>
<input id="Button1" type="button" value="テスト" onclick="javascript:opren();" />
<asp:Label ID="Label1" runat="server"></asp:Label>
<asp:HiddenField ID="HiddenField1" runat="server" />
</div>
</form>
Javascriptの処理
<script type="text/javascript">
<!--
function opren()
{
document.getElementById("<%= HiddenField1.ClientID %>").value = "Javascriptから渡す値";
aspnetForm.submit();
}
-->
</script>
ASP.NETの処理
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack && HiddenField1.Value != "")
{
Label1.Text = HiddenField1.Value + "を受け取った";
}
}
フォームをsubmitしてやればポストバックが起こります。
Javascriptから直接ASP.NETに値を渡すことは出来ないので、Hiddenフィールを使って渡しています。
それをページロード(ポストバック)時に読んでいます。
ASP.NETからJavascriptへ値を渡す時もHiddenフィールドを使って渡しています。
処理が分かりにくくなるので滅多に使わないんですが、どうしても必要な場合はこの方法を使っていますヽ(°▽°)ノ
もっと良い方法あるんだろうか……。
教えて頂けると泣いて喜びます(笑)
Javascript(クライアント側の処理)からASP.NET(サーバー側の処理)に移す方法。
ついでに値も渡しちゃうよ!
フォームを用意します。
<form id="aspnetForm" runat="server">
<div>
<input id="Button1" type="button" value="テスト" onclick="javascript:opren();" />
<asp:Label ID="Label1" runat="server"></asp:Label>
<asp:HiddenField ID="HiddenField1" runat="server" />
</div>
</form>
Javascriptの処理
<script type="text/javascript">
<!--
function opren()
{
document.getElementById("<%= HiddenField1.ClientID %>").value = "Javascriptから渡す値";
aspnetForm.submit();
}
-->
</script>
ASP.NETの処理
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack && HiddenField1.Value != "")
{
Label1.Text = HiddenField1.Value + "を受け取った";
}
}
フォームをsubmitしてやればポストバックが起こります。
Javascriptから直接ASP.NETに値を渡すことは出来ないので、Hiddenフィールを使って渡しています。
それをページロード(ポストバック)時に読んでいます。
ASP.NETからJavascriptへ値を渡す時もHiddenフィールドを使って渡しています。
処理が分かりにくくなるので滅多に使わないんですが、どうしても必要な場合はこの方法を使っていますヽ(°▽°)ノ
もっと良い方法あるんだろうか……。
教えて頂けると泣いて喜びます(笑)
スポンサーサイト