#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 # является языком, безопасным для типов, нет необходимости в тройном.