Синтаксис ViewData в ASP.NET MVC - PullRequest
       0

Синтаксис ViewData в ASP.NET MVC

4 голосов
/ 08 августа 2010

Может кто-нибудь объяснить мне, что означает следующий синтаксис?

ViewData ["reeting "] = (час <12?" Godd morning ":" Добрый день "); </p>

Ответы [ 4 ]

3 голосов
/ 08 августа 2010

час <12? "Доброе утро": "Добрый день" </p>

Этот троичный оператор вызов (эквивалент для структуры if then else) предоставит строку Godd morning, если значение hour меньше 12 и в противном случае Добрый день.

Этот результат помещается в ViewData ["приветствие"], которое впоследствии можно использовать в вашем представлении для отображения сообщения.

1 голос
/ 08 августа 2010

Это то же самое, что и:

if (hour < 12)
   ViewData ["greeting"] = "Good morning";
else
   ViewData ["greeting"] = "Good afternoon";

Это просто троичный оператор для упрощения этой общей структуры.

Как сказал ŁukaszW.pl, просто:

yourCondition ? isTrue : isFalse;

ViewData - это просто словарь, который контроллер передает в представление.

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

1 голос
/ 08 августа 2010

Эта строка передает данные из контроллера в шаблон представления. Шаблон представления может использовать содержимое ViewData ["приветствие"] для его обработки. Например:

<p>
   <%: ViewData["greeting"] %>, earthling!
</p>

Если значение переменного часа меньше 12, сообщение будет «Доброе утро, землянин», в противном случае это будет «Добрый день, землянин!».

В основном будет вычислено логическое выражение hour < 12. Если это true, то выражение между ? и : будет присвоено ViewData["greeting"]. Если оно ложно, то выражение после : будет присвоено левой стороне.

Вы можете заменить

ViewData ["greeting"] = (hour <12 ? "Godd morning" : "Good afternoon");

с этим эквивалентным кодом:

if( hour < 12 )
   ViewData["greeting"] = "Godd morning";
else
   ViewData["greeting"] = "Good afternoon";
1 голос
/ 08 августа 2010

Вы имеете в виду оператора справа? Это Conditional Operator и это как:

condition ? if_true : if_false

Итак, если hour меньше 12, то ViewData ["greeting"] будет иметь строку Godd morning. В противном случае будет назначено Good afternoon.

Подробнее об этом операторе можно прочитать здесь .

Надеюсь, это поможет:)

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