2016-06-16 54 views
0

asp:Webページのasp:HiddenFieldの値を設定してその値をC#コードで取得するのに問題があります。クライアント側でasp:HiddenFieldの値を設定し、サーバー側でその値を取得します。

HTMLの簡単なコード

<head> 
    <script type="text/javascript"> 
    function getData() { 
     markerData = [ <%= getMarkerData() %> ]; 
    } 

    function showData() { 
     ... 
     getData(); 
     ... 
    } 
    </script> 
</head> 

<body> 
    <form id="form1" runat="server"> 
    <asp:hiddenfield id="hfvarFrom" runat="server" /> 
    <asp:hiddenfield id="hfvarTo" runat="server" /> 
    <div class="panel panel-primary" id="divInformation" style="width: 300px;"> 
     <div class="panel-body" style="height: 650px;"> 
     <div class="form-group"> 
      <asp:button id="btnLoadData" runat="server" class="btn btn-warning btn-block" text="LOAD DATA" onclientclick="javascript:showData(); return false;" usesubmitbehavior="false" /> 
     </div> 
     </div> 
    </div> 
    </form> 
    <script> 
    $(document).ready(function() { 
     $('#<% =btnLoadData.ClientID %>').click(function(e) { 
     $('#<% =hfvarFrom.ClientID %>').attr('value', '2016-06-14'); 
     $('#<% =hfvarFrom.ClientID %>').attr('value', '2016-06-14'); 
     }); 
    }); 
    </script> 
</body> 

C#の簡単なコード

protected String getMarkerData() 
{ 
    String from = hfvarFrom.Value; 
    String to = hfvarTo.Value; 
    return getMarkerObjects(from, to); 
} 

私は2 ASP抱えている:のHiddenFieldとASP:ボタンを。 OnClientClickが呼び出されると、showData()はgetData()を呼び出し、もちろん他の関数を実行します。 getData()はコードの背後にあるgetMarkerData()を呼び出します。 事実、私はHiddenFieldの値をコードの背後から得ることができませんでした。むしろすべてがうまくいく。

私は

が背後にあるすべての

+0

あなたは 'getMarkerData'を呼び出していますか? omコードの背後にある?と呼ばれていますか? – Imad

+0

はい、それが呼び出されます。唯一のことは、hfvarFrom.Valueです。常に何も返しません。 –

答えて

1

コードありがとうございコーディングウェブで初心者だとして、私にいくつかのアドバイスを教えてください:

protected void Page_Load(object sender, EventArgs e) 
{ 
} 

protected void btnOK_Click(object sender, EventArgs e) 
{ 
    string from = hfvarFrom.Value; 
    string to = hfvarTo.Value; 
} 

.ASPX:

<head runat="server"> 
    <title></title> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(function() { 
      $('#<%=hfvarFrom.ClientID %>').val("2016-06-14"); 
      $('#<%=hfvarTo.ClientID %>').val("2016-06-15"); 
     }); 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <asp:HiddenField ID="hfvarFrom" runat="server" /> 
     <asp:HiddenField ID="hfvarTo" runat="server" /> 
     <asp:Button ID="btnOK" runat="server" Text="OK" OnClick="btnOK_Click" style="height: 29px; width: 37px" /> 
    </form> 
</body> 
+0

アドバイスありがとうございます。しかし、このコードでは、このmarkerData = [<%= getMarkerData()%>]に値を追加する必要があるため、markerDataに値を返すことはできますか。 –

+0

ボタンのクリックイベントのコードを変更して、そのメソッドなどを呼び出します。隠しフィールドの値を設定し、コードの背後からアクセスできるコードを与えました。あなたがしたいと思うように働くことを確認するための変更 –

+0

はい、私はそれを自分で把握しました。必要な値はOnClick関数で割り当てられ、ページがリロードされたときに呼び出されるgetMarkerObjects()に渡されます。ありがとうございました –

関連する問題