2013-06-11 1 views
1

나는 DropDownList를 가지고 있으며 자바 스크립트 문자열에서 숨겨진 필드 내에서 선언 한 다음 C#을 통해 선언하면 선택한 색인의 텍스트를 사용하여 자바 변수가 지워지지 않도록 할 것이다. 페이지가 다시로드됩니다.C#으로 자바 스크립트 변수 선언하기

나는 hiddenfields가 올바른 아이디어인지, 그리고 hiddenfield 값을 Javascrpt 변수로 선언하는 방법에 대한 조언을 듣고 싶습니다. 숨겨진 필드를 사용

<asp:DropDownList runat="server" ID="dropCallbackReason" SelectedIndexChanged="riskSeverityDropDown_SelectedIndexChanged" onChange="javascript:updateCallBackReason()" ClientIDMode="Static" > 
     <asp:ListItem Text="-- Select Reason --" Value="1"></asp:ListItem> 
     <asp:ListItem Text="Booking" Value="6"></asp:ListItem> 
     <asp:ListItem Text="Discussing" Value="11"></asp:ListItem> 
     <asp:ListItem Text="Contract" Value="45"></asp:ListItem> 
</asp:DropDownList> 
<asp:HiddenField id="ValueHiddenField" value="" runat="server"/> 

<script type="text/javascript"> 
     function updateCallBackReason() { 
     var ddlReason = document.getElementById("<%=dropCallbackReason.ClientID%>"); 
     callBackReasonPreSring = ddlReason.options[ddlReason.selectedIndex].text; 
     callBackReason = callBackReasonPreSring.replace(/ /g, ''); 
     return callBackReason; 
     } 
     $(document).ready(function() { updateCallBackReason() }); 
</script> 

많은 감사,

답변

2

는 드문 일이 아니다. 나는 당신이 당신의 코드에서 그것에 쓰고있는 곳을 보지 못한다.

+0

답장을 보내 주셔서 감사합니다. 현재 HiddenField에 쓰지 않고 값이 JS Var에 저장되고 있습니다. 나는 그것을 조사하기 전에 hiddenfield의 정확한 사용법을 다시 한번 확인하고 싶었다. – wilsonlego

2

가장 좋은 방법은 숨겨진 필드 대신 Session에 값을 저장하는 것입니다. 훨씬 깨끗한 접근 방식입니다.

두 가지 방법, 서버 쪽 또는 클라이언트 쪽에서 할 수 있습니다. https://github.com/AlexChittock/JQuery-Session-Plugin

또 다른 옵션은 Cookies을 사용하는 것입니다 : 클라이언트 측 Session 평소하지 않고 여기 이와 같은 외부 라이브러리를 사용해야합니다 동안 서버 측 Session에 관해서는

, 그것은 매우 간단합니다.

//Set cookie 
$.cookie("somevar", "5"); 

// Get cookie 
$.cookie("somevar") 

//Delete cookie 
$.cookie("somevar", null); 

희망이 있습니다.