DOBON.NET DOBON.NETプログラミング掲示板過去ログ

HiddenFieldの値の取得方法

環境/言語:[OS:WindowsXpPro 言語:C# .NET Framework2.0]
分類:[ASP.NET]

お世話になっております。

現在ASP.NETで開発を行っているのですが
HiddenFieldの値が取得できずに困っています

ButtonコントロールのOnClientClickプロパティに
「"document.form1.hide.Value=0;"」を設定して
クライアント側でHiddenFieldに数値をセット
その後のPostBack時にOnInitイベントで
hide.Valueを取得しようとしているのですが……

HTMLソースを見るとhideのvalue属性に0がセットされているのですが
サーバー側では取得できていません

どのようにすれば取得できるのかご教授の程よろしくお願い致します
お世話になります。

■No17645に返信(しろさんの記事)
以下のような方法で取れましたが、参考になるでしょうか。

●aspx
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default4.aspx.vb" Inherits="Default4" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
  <title>無題のページ</title>
  <script type="text/javascript">
  function SetHiddenValue(value){
    document.form1.HiddenField1.value = value;
  }
  </script>
  
</head>
<body>
  <form id="form1" runat="server">
    <asp:HiddenField ID="HiddenField1" runat="server" Value="" />
    <asp:Button ID="Button1" runat="server" OnClientClick="javascript:document.form1.HiddenField1.value='test';" Text="Button" />
  </form>
</body>
</html>

●aspx.vb
Partial Class Default4
  Inherits System.Web.UI.Page

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If IsPostBack Then
      ' OnInit でも同じやり方。
      ' どちらのとり方でも同じ値がとれる。
      Dim hiddenValue As String = Request.Form("HiddenField1")
      Dim hiddenValue1 As String = Me.HiddenField1.Value
    End If
  End Sub
End Class
なおこ(・∀・)様

ご教授ありがとうございます

>Dim hiddenValue As String = Request.Form("HiddenField1")
で取得することが出来ました。

>Dim hiddenValue1 As String = Me.HiddenField1.Value
でも同じ値が取れるとの事でしたが
私の環境では取得出来ませんでした(C#とVBの違い?)

Request.Formで取得する方法で行こうと思います。
ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板