Сервер ASP контролирует, заполнено ли поле SQL

#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 в зависимости от вашей ситуации.