Операторы MVC @if

#asp.net-mvc #web

#asp.net-mvc #веб

Вопрос:

Просто пытаюсь написать простой оператор if, чтобы проверить, имеет ли модель определенное строковое значение. В настоящее время у меня есть это

 @if (offer.Title === "Offer")
{
    //do something
}
  

Я знаю, что у меня есть результаты, в которых заголовок равен «Предложение», но на моей веб-странице ничего не отображается. Обычно я не пишу MVC (отсюда и вопрос noobie), но я решил, что это будет довольно просто, поэтому просто сделал это сам..

Комментарии:

1. изменить === на ==

2. что у вас есть внутри блока if

3. Приветствия, double == сработало

4. Я не знаю, что предлагается, если вам нужно проверить значение model.title, тогда @if (Model.Title =="Offer") { //do something }

5. Что такое offer и как вы объявили это в представлении?

Ответ №1:

Согласно ссылке на C #, существующие операторы равенства являются:

==

По умолчанию для ссылочных типов, отличных от string, это возвращает равенство ссылок (проверка идентичности). Однако типы могут перегружать == , поэтому, если вы намерены проверить идентификатор, лучше всего использовать метод ReferenceEquals для объекта.

!=

не равно. См. Комментарий для == . Если тип перегружает == , то он должен перегружаться !=

Таким образом, результатом является то, что нет оператора тройного равенства, вы должны использовать оператор двойного равенства. Примечание: в других языках оператор тройного равенства === также проверяет равенство типов, а не только равенство значений, но поскольку C # является языком, безопасным для типов, нет необходимости в тройном.