我想在我的 javascript 函数中获取代码隐藏值。我的场景是,假设我有两个用户控件 A 和 B。 我正在从 UserControl A 设置一个全局值。当我进入 UserControl 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”。为什么?
最佳答案
尝试:
var currentVal = $('#<%=HFDetails.ClientID %>').val();
关于javascript - 在javascript函数中获取代码隐藏值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12704560/