Значение Флажка ASP.NET при обратной передаче является неправильным?

Для добавления к набору хитрых приемов начиная с, константа является просто подпрограммой, которую можно даже назвать им как методом класса.

package Foo;
use constant PI => 3.14;

print Foo->PI;

, Если у Вас есть много констант, это - хороший способ достигнуть случайный, не имея необходимость экспортировать их всех. Однако, в отличие от этого Foo::PI или экспорт PI, Perl не скомпилирует Foo->PI, таким образом, Вы понесете расходы вызова метода (который, вероятно, не имеет значения).

23
задан Anthony 6 October 2009 в 04:34
поделиться

3 ответа

This is a known problem with ASP.NET - for some reason ASP.NET won't update a checkbox on postback if it was disabled during page load and not checked for postback. I don't know exactly why that is though - if you make the checkbox unselected by default and select it, the value is changed on the server correctly.

The workaround is to add a hidden field to the page that represents the state of the checkbox, then update the field's value to "ON" or "OFF" for example, whenever the checkbox is clicked.

Then on the server you check the value of the hidden field, not the checkbox itself, as the hidden field is always posted.

34
ответ дан 29 November 2019 в 01:35
поделиться

Поскольку вы уже используете Javascript для управления состоянием элементов управления в браузере, я предлагаю вам просто снять флажок в событии загрузки страницы. Тогда ваши обратные передачи будут работать нормально ...

<head>

  <script type="text/javascript">
    function buttonClick() {
      var cb = document.getElementById('<%= CheckBox1.ClientID %>');
      cb.disabled = false;
      cb.parentNode.disabled = false;
    }    
  </script>

</head>
<body onload="document.getElementById('<%= CheckBox1.ClientID %>').disabled = true;">
  <form id="form1" runat="server">
  <div>
    <asp:checkbox id="CheckBox1" runat="server" checked="true" />
    <asp:button id="Button1" runat="server" text="Button" onclientclick="buttonClick(); return false;" />
    <asp:button id="Button2" runat="server" text="Button2" onclick="button2Click" />
  </div>
  </form>
</body>
1
ответ дан 29 November 2019 в 01:35
поделиться

Возможно, я не совсем правильно понимаю проблему, но разве вы не можете просто использовать форму из запроса для получения значения CheckBox? То есть в button2Click() в файле code behind вы бы сделали следующее:

Request.Form[CheckBox1.UniqueID]
1
ответ дан 29 November 2019 в 01:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: