#asp.net #sql #eval #servercontrols
#asp.net #sql #оценка #servercontrols
Вопрос:
Я пытаюсь выяснить, как я могу использовать теги управления сервером ASP, чтобы определить, возвращает ли оцениваемое поле что-либо, если нет, то ему нужно проверить другое поле, в котором есть данные. У меня есть два приведенных ниже оператора, и мне было интересно, как я могу объединить их так, чтобы, если CID не существует, он выглядел и как EID. Как я могу этого добиться?
<%# Eval("CID", "us.aspx?id={0}") %>
<%# Eval("EID", "ei.aspx?id={0}") %>
Ответ №1:
Вы имеете в виду, если Eval("CID")
равно нулю, то показать EID
или показать CID
? Вы могли бы попробовать:
<%# (Eval("CID") == null) ? Eval("EID", "ei.aspx?id={0}") : Eval("CID", "us.aspx?id={0}") %>
Комментарии:
1. знаете ли вы, какие именно команды вызываются на aspx-страницах? Где я могу прочитать больше об этом, я понятия не имею, использовал ли я правильное имя, но я хотел бы узнать о них больше. Такие вещи, как
<%# %> <% %> <%$ %>
2. @atrljoe:
?:
Называется троичным оператором. Вы можете прочитать больше об этом здесь . Подробнее об операторах C # здесь . Подробнее о встроенном ASP.NET теги здесь .
Ответ №2:
В VB вы можете выполнить это с помощью следующего
<%# IIF(IsDBNULL("CID"), "ei.aspx?id={" amp; Eval("EID") amp; "}", "us.aspx?id={" amp; Eval("CID") amp; "}")
Возможно, вы захотите использовать IsNothing вместо IsDBNull в зависимости от вашей ситуации.