C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Jsでhiddenに設定した値がサーバ側で取得できない

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■96746 / inTopicNo.1)  Jsでhiddenに設定した値がサーバ側で取得できない
  
□投稿者/ はぴ (1回)-(2021/01/22(Fri) 21:11:59)

分類:[ASP.NET (C#)] 

こんばんは。
すみません、質問よろしくお願いいたします。

ASP.net+JavascriptでWebFormを作成しています。
・実現したいこと
 @ASP.netのコード側からHiddenFieldに値を設定
 AJavascriptで@の値を取得し変更
 Bボタン押下時にサーバ側でAの値を受取り処理

・困っていること
 B処理時にAで書き換えた値を取得できない(値は@のまま)

・確認したこと
 B処理前にJavascriptのalertでHiddenの値を確認(値はA)
 @で値を設定しなければAの値がなぜか取得できる

・コード
[.aspx]
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<script type="text/javascript">
    window.onload = function () {
    //A
        document.getElementById("test1").value = "test1";
    }
    function test(){
        let test1Val = document.getElementById("test1").value;
        alert(test1Val);
    }
</script>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:HiddenField runat="server" ID="test1" />
        <asp:Button runat="server" ID="btn" Text="ボタン" OnClick="btn_Click" OnClientClick="test()"/>
    </div>
    </form>
</body>

[.cs]
protected void Page_Load(object sender, EventArgs e)
{
 //@
 test1.Value = "テスト";
}

protected void btn_Click(object sender, EventArgs e)
{
 //B
 Console.WriteLine(test1.Value);
}


どのようにすれば実現できるのか教えていただけないでしょうか?
よろしくお願いいたします。

引用返信 編集キー/
■96748 / inTopicNo.2)  Re[1]: Jsでhiddenに設定した値がサーバ側で取得できない
□投稿者/ WebSurfer (2184回)-(2021/01/22(Fri) 22:37:05)
No96746 (はぴ さん) に返信

> ・困っていること
>  B処理時にAで書き換えた値を取得できない(値は@のまま)

> protected void Page_Load(object sender, EventArgs e)
> {
>  //@
>  test1.Value = "テスト";
> }

ここが問題で、ボタンクリックでポストバックされるとき毎回 "テスト" に
書き戻しているからです。
引用返信 編集キー/
■96751 / inTopicNo.3)  Re[2]: Jsでhiddenに設定した値がサーバ側で取得できない
□投稿者/ はぴ (2回)-(2021/01/23(Sat) 13:08:45)
No96748 (WebSurfer さん) に返信

> ここが問題で、ボタンクリックでポストバックされるとき毎回 "テスト" に
> 書き戻しているからです。

ご回答ありがとうございます。
あ、すごく初歩的なところで。。
Webに不慣れなもので毎回PageLoadを通るのを失念しておりました。
!IsPostBackの条件をつけることで上手くいきました。
ご指摘ありがとうございました。助かりました。
引用返信 編集キー/
■96752 / inTopicNo.4)  Re[3]: Jsでhiddenに設定した値がサーバ側で取得できない
□投稿者/ はぴ (3回)-(2021/01/23(Sat) 13:09:52)
解決済とさせていただきます。
ありがとうございました。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ