решено: см. Мое решение ниже!
с использованием aspx с кодом C #.
У меня есть следующий код в кнопке в шаблоне элемента в виде сетки:
Enabled='<%# IIF(Eval("wrqst_need_ind") == "Y","TRUE","FALSE") %>'
Я получаю следующую ошибку:
The name 'IIF' does not exist in the current context
Что я делаю не так? Я получаю ту же ошибку, если использую «IF» вместо «IIF»
Полный код шаблона элемента выглядит следующим образом:
<ItemTemplate>
<asp:Button ID="wrqst_need_ind_btn" runat="server" Text = "Create WR"
onClientClick="javascript:popUp('popup_createWR.aspx')"
Enabled='<%# IIF(Eval("wrqst_need_ind") == "Y","TRUE","FALSE") %>'
CommandArgument='<%# Eval("dvc_nm") + "|" + Eval("data_orgtn_yr") %>'/>
</ItemTemplate>
Если я возьму строку, она будет работать нормально.
Мне кажется, это должно работать ...
РЕДАКТИРОВАТЬ: я сейчас использую это:
Enabled='<%#Eval("wrqst_need_ind") == "Y" ? "TRUE" : "FALSE" %>'
И получаю эту ошибку:
Серверный тег сформирован неправильно.
Большое спасибо за вашу помощь!
Обновление:
Я пробовал это:
Enabled='<%# Eval("wrqst_need_ind") == "Y" ? Convert.ToBoolean(1) : Convert.ToBoolean(0) %>' and it ran!
Но каждая кнопка была отключена. Итак, я попробовал:
Enabled='<%# Eval("wrqst_need_ind") == "Y" ? Convert.ToBoolean(1) : Convert.ToBoolean(1) %>'
и затем каждая кнопка была отключена. Кажется, что каждый раз, когда он возвращает ложь ... почему?
решено: см. Мое решение ниже!