2014-12-11 2 views
-1

aspx 페이지에서 LinkButton을 사용하여 OnClientClick에서 숨겨진 필드의 값을 업데이트하고 OnClick에서 해당 값을 데이터베이스에 저장하고 있습니다. 내 updateGeoCode() 기능업데이트 된 코드에서 HiddenField 값 가져 오기

function updateGeoCode() { 
     var address = document.getElementById('lblDisplayAddress'); 
     var geocoder = new google.maps.Geocoder(); 
     geocoder.geocode({ 'address': address }, function (results, status) { 
      if (status == google.maps.GeocoderStatus.OK) { 
       var latitude = results[0].geometry.location.lat(); 
       var longitude = results[0].geometry.location.lng(); 
       longitudeField = $get('<%=Longitude.ClientID %>'); 
       latitudeField = $get('<%=Latitude.ClientID %>'); 

       longitudeField.value = longitude; 
       latitudeField.value = latitude; 
      } else { 
       alert('Geocode was not successful'); 
      } 
     }); 
    }; 

lnkUpdateGeocode_Click입니다

<asp:LinkButton runat="server" ID="lnkUpdateGeocode" Text="Update Geocode" 
OnClientClick="updateGeoCode()" OnClick="lnkUpdateGeocode_Click" /> 

는()

latitude = Latitude.Value.IsBlankOrNull() ? 0M : Convert.ToDecimal(Latitude.Value); 
longitude = Longitude.Value.IsBlankOrNull() ? 0M : Convert.ToDecimal(Longitude.Value); 

이다 그러나 나는 항상 0으로 위도와 경도 값을 얻고있다.

그래서 내 질문 내가 CodeBehind에서 HiddenField의 업데이트 된 값을 자바 스크립트에서 변경하는 방법입니다. 어떤 도움을 주시면 감사하겠습니다.

업데이트 :

내에 HiddenField 값은 내가 Request.Form[Latitude.UniqueID]을 시도

<asp:HiddenField ID="Longitude" runat="server" EnableViewState="false" /> 
<asp:HiddenField ID="Latitude" runat="server" EnableViewState="false" /> 

RUNAT = "서버"로 설정되어 있지만, 그것은 또한 빈 문자열을주고있다.

enter image description here

+0

는에 HiddenField –

+0

@RahulNikate에의 EnableViewState가 = "false"를 제거해보십시오 난 것을 시도했지만 운으로 끝낼. –

답변

1

하면 자바 스크립트에서 값을 업데이트한다. Request.Form을 사용하여 업데이트 된 값에 액세스해야합니다.

Request.Form에서 업데이트 된 값을 받게됩니다.

string latitudeValue = Request.Form[Latitude.UniqueId]; 

예 :

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server"> 
    <div class="col-md-4"> 
     <asp:HiddenField ID="HiddenField1" runat="server" Value="1" /> 
     <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click" OnClientClick="CallThis()">LinkButton</asp:LinkButton> 
    </div> 

    <script type="text/javascript"> 
     function CallThis() { 
      $('#<%= HiddenField1.ClientID %>').val(100); 
     } 
    </script> 
</asp:Content> 

enter image description here

+0

답장을 보내 주셔서 감사하지만 행운은 없습니다. –

+0

geocoder.geocode ajax 호출이 반환되지 않으며 양식 게시가 의심 스럽습니다. – dotnetstep

+0

자바 스크립트에서 값이 업데이트되고 나면이 메소드 만 호출됩니다. –

1

설정 RUNAT는 = "서버" 숨겨진 필드 속성을 다음과 같이 : 이제

<input type="hidden" value="" id="hiddenField" runat="server" /> 

할 수 있습니다 직접 액세스 코드의 숨겨진 필드 값 IND :

var val = this.hiddenField.Value; 
관련 문제