2015-03-18 3 views
0

В .NET 4.5 ...Чтение жерех в JavaScript скрытого

Я пытаюсь прочитать это скрытое поле:

<asp:HiddenField ID="test2" runat="server" Value="" Visible="false" ClientIDMode="static"/> 

которого значение создается в коде здесь:

public static string TestSessionValue 
     { 
      get 
      { 
       object value = HttpContext.Current.Session["TestSessionValue"]; 
       return value == null ? "" : (string)value; 
      } 
      set 
      { 
       HttpContext.Current.Session["TestSessionValue"] = value; 
      } 
     } 

TestSessionValue = String.Format("EmployeeCredential_ViewList.aspx?" + Employeeid + "={0}&" + StrIsadmin + "={1}", _empCredential.EmployeeId, IsAdmin); 

test2.Value = TestSessionValue; 

, а затем я пытаюсь прочитать значение в JavaScript следующим образом:

var hv = $('input[id$=test2]').val(); 

Я также попытался это без успеха:

var hv = $('#test2').val(); 

Как успешно считано значение жереха в скрытом JavaScript?

+0

Какую версию .NET вы используете? Это влияет на работу 'ClientIDMode'. – dave

+0

Я использую .NET 4.5 – John

ответ

4

вам нужно удалить Visible="false", то он будет работать или использовать этот Visible="true"

Поэтому, пожалуйста, замените это: -

<asp:HiddenField ID="test2" runat="server" Value="" Visible="false" ClientIDMode="static"/> 

с: -

<asp:HiddenField ID="test2" runat="server" Value="" Visible="true" ClientIDMode="static"/> 

затем попытаться получить значение либо

$("#test2").val()

или все, что вы написали, чтобы получить значение

Надеются, что это поможет?

+2

Полностью упускается из виду, что сервер даже не сделает этот контроль для клиента. +1 – JLane

0

Получить его с помощью ID:

<script type="text/javascript"> 
     $(document).ready(function() { 
      var hv= $('#test2').val(); 
     }); 
    </script> 

Дополнительная информация здесь: Get Value for Hidden Field

+0

Согласно отладчику, hv подходит как неопределенный. – John

+0

Где код TestSessionValue? – JLane

+0

Я обновил сообщение и уточнил, я проверил, что test2 получает заданное значение в коде позади. – John

0

В вашем элементе hiddenfield вы используете атрибут Visible = "false". Это означает, что скрытое поле не будет отображаться в веб-форме, удалите этот атрибут и попробуйте. anyways hiddenfield не будет виден в webform.

Смежные вопросы