Значение HiddenField не обновляется - PullRequest
2 голосов
/ 09 июня 2011

Я пробовал оба из них:

    <asp:HiddenField ID = "selectedHour" runat="server" Value="blahblah" />
    <input type="hidden" id="myHour" name="hour" Value="blahblah" runat="server"/>

И я пытаюсь обновить его с помощью Javascript:

     <script type="text/javascript">
      function addEventByClick(hour) {
        document.getElementById("myHour").Value = hour;
        alert(document.getElementById("myHour").Value);
        document.getElementById("dummyButton").click();
      }
     </script>

, который "работает": предупреждение дает мне правильный номер.

Затем, когда я нажимаю "Отправить", он вызывает метод C # (вызываемый нажатием компонента asp.net), который делает это:

String h = myHour.Value;
//or
//String h = Request.Form["myHour"];

, и это всегда возвращает "бла-бла",то есть начальное значение.

Все эти материалы находятся на панели обновлений, но находятся на той же панели обновлений, все в пределах одного и того же ContentTemplate.

Так почему же оно не обновляется??

Редактировать: Спасибо, ребята.Ненавижу, когда получаю 3 идеальных ответа, как узнать, какой из них проверить ...

Ответы [ 3 ]

3 голосов
/ 09 июня 2011

Попробуйте использовать value вместо Value.Браузеры разборчивы в этих вещах.

Либо используйте jQuery , и ваши проблемы волшебным образом исчезнут:

$('#myobject').val( 'new value' );

2 голосов
/ 09 июня 2011

JavaScript не чувствителен к регистру.попробуй:

replace document.getElementById("myHour").Value = hour; by 
        document.getElementById("myHour").value = hour; and 

document.getElementById("myHour").Value by 
document.getElementById("myHour").value
2 голосов
/ 09 июня 2011

попробуйте с некапитализированным значением, для необработанного HTML:

document.getElementById("myHour").value = hour
...