2012-10-03 4 views
1

자바 스크립트 함수에서 코드 비하인드 값을 가져오고 싶습니다. 내 시나리오는 두 개의 Usercontrols A와 B가 있다고 가정 해 보겠습니다. UserControl A에서 전역 값을 설정하려고합니다. UserControl B의 페이지로드에 도달하면 해당 값에 액세스하여 숨겨진 필드에 넣습니다. 클라이언트 클릭시 javascript 함수를 호출하는 UserControl B 버튼이 있습니다. 그 함수에서 나는 hiddenfields 현재 값을 잡으려고합니다. 그러나 나는 항상 숨겨진 필드 값에서 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"입니다. 왜?

+0

시도 var에 currentVal = $ ("#"DetailsFormPanel_DetailsForm1_HFDetails ") 발(); – ssilas777

+0

당신이 같이 브라우저에서 HTML 소스에 숨겨진 필드의 값을 확인 했나.? codebehind가 값을 설정하지 않았거나 올바르게 읽지 않는 javascript입니까? –

+0

도움을 주신 분들께 감사드립니다. 늦어서 죄송합니다. 어떻게 알지만 다른 코드에서 동일한 코드가 작동합니다. 모든 것이 이제는 잘되었습니다. 여유 시간을 갖게 될 때 이것을 살펴 보겠습니다. 귀하의 의견을 다시 한번 감사드립니다. – nilarya

답변

2

시도 :

var currentVal = $('#<%=HFDetails.ClientID %>').val(); 
관련 문제