javascript関数でコードビハインド値を取得したい。私のシナリオは、2つのユーザーコントロールAとBがあるとします。ユーザーコントロールAからグローバル値を設定しています。ユーザーコントロールBのページの読み込み時に、その値にアクセスして非表示フィールドに配置しています。UserControl Bに、クライアントのクリックでjavascript関数を呼び出すボタンがあります。その関数で、私は隠しフィールドの現在の値をキャッチしようとしています。しかし、私は常に隠しフィールドの値から0を取得します。私が間違っていることは何ですか?誰かが私を助けることができますか?
以下はコードです:
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="DetailsForm.ascx.vb" Inherits="TD_Web_App.DetailsForm" %>
<script type="text/javascript">
function GetNextRecord() {
debugger;
var currentVal = $get("DetailsFormPanel_DetailsForm1_HFDetails").value;
//clientID of my hidden field
}
</script>
<asp:UpdatePanel ID="DetailInfoUpdatePanel" runat="server" UpdateMode="Conditional" >
<ContentTemplate>
<table id="TDPropsGrid" runat="server" width="250px" ></table>
<asp:Button ID="Cmd_Next" runat="server" Text="Next" Width="100px" SkinID="ButtonSkin" UseSubmitBehavior="false" OnClientClick="GetNextRecord()"/>
<asp:LinkButton ID="LinkButtonDetails" runat="server" style="display:none;">
LinkButton
</asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
<asp:HiddenField ID="HFDetails" runat="server" />
コードビハインド:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
showData() 'some function
HFDetails.Value = CurrentRecordCounter ' global value coming from other usercontrol
End Sub
'Private Sub Page_PreRender(sender As Object, e As System.EventArgs) Handles Me.PreRender
' HFDetails.Value = CurrentRecordCounter
'End Sub
入れてみました
<asp:HiddenField ID="HFDetails" runat="server" />
更新パネル内では、何も変更されていません。
ただし、GetNextRecord()では、currentValは常に「0」です。なぜ?