Как отключить кнопку asp.net в созданной строке вида сетки - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть таблица данных с 8 столбцами. Основываясь на значении столбца, мне нужно отключить кнопку в каждой строке вида сетки. Как этого добиться. Ниже я попробовал.

C #

dt.Columns.Add("CanLock");

Страница ASPX

  <asp:TemplateField HeaderText="" ItemStyle-Width="15%" HeaderStyle-CssClass="text-clr-white">
      <ItemTemplate>
          <asp:Button disabled='<%# Convert.ToBoolean(Eval("CanLock"))?true:false %>' CssClass="btn btn-primary btn-sm btn-approve %>"  ID="btnApprove" runat="server" Text="Approve" CommandName="Approve" CommandArgument='<%# Eval("OrderID") %> ' meta:code='<% DataBind(); %>'/>
          <a data-toggle="modal" data-target="#ModalRejection" disabled='<%# Convert.ToBoolean(Eval("CanLock"))?true:false %>' class='btn btn-primary btn-sm btn-reject' id="btnRejectApp" data-id='<%# Eval("OrderID") %>'>Reject</a>
      </ItemTemplate>
  </asp:TemplateField>

К сожалению, кнопки в каждом ряду отключаются, когда я делаю это.

1 Ответ

0 голосов
/ 18 февраля 2019

Атрибут disabled устанавливает входной элемент в отключенное состояние, пока атрибут присутствует, поскольку disabled является логическим атрибутом .Если вы хотите отключить серверный элемент управления, вместо него следует использовать свойство Enabled:

<asp:Button ID="btnApprove" runat="server" 
            Enabled='<%# !Convert.ToBoolean(Eval("CanLock")) %>' 
            CssClass="btn btn-primary btn-sm btn-approve %>" Text="Approve" ... />

Если для свойства Enabled установлено значение false, тогда disabledатрибут будет автоматически добавлен к сгенерированному элементу <input type="button" />.

Примечание: Для вашего удобства попробуйте заменить простой тег привязки внутри секции ItemTemplate на asp:HyperLink элемент управления, способный на Eval использование, также путем установки Enabled атрибута, подобного кнопке выше.

Связанная проблема:

Как отключить кнопку на основе значения столбца в другом столбце GridView

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