Существуют различные способы, которыми вы можете отправлять свои сообщения обратно в представление с вашего контроллера:
Если вы используете AJAX для POST на вашем контроллере, вы можете использовать JSON-ответ. Примером этого может быть:
$.ajax({
//You AJAX code....
//On success
success: function (data){
if (data == "Invalid") {
alert("Invalid Credentials Supplied");
}
},
//If there is any error
error: function (data) {
alert("Could not process your request.");
},
});
А в вашем контроллере:
public ActionResult ValidateUser()
{
//Your logic
return Json("Invalid", JsonRequestBehavior.AllowGet);
}
OR
Вы также можете использовать ViewData
или ViewBag
для установки ваших сообщений с подсказками. Примером может быть:
По вашему мнению:
<script type="text/javascript">
$(document).ready(function () {
var yourPrompt= '@ViewBag.PromptMessage';
alert(yourPrompt);
});
</script>
В вашем контроллере вы можете настроить приглашение:
ViewBag.PromptMessage= "Invalid Credentials Supplied";
В качестве альтернативы можно использовать ViewData
с условным оператором:
<script type="text/javascript">
$(document).ready(function () {
var yourPrompt= '@ViewData["PromptMessage"]';
if(yourPrompt=="Invalid"){
alert("Invalid Credentials supplied");
}
});
</script>
В вашем контроллере вы можете настроить приглашение:
ViewData["PromptMessage"] = "Invalid";
ИЛИ
Вы можете использовать ModelState для отображения ваших запросов или ошибок в вашем представлении. Это используется, когда вы используете строго типизированную привязку Model-View в вашем контроллере. Пример:
В вашем представлении настройте ValidationSummary
:
@Html.ValidationSummary(false, "", new { @class = "text-danger" })
По умолчанию ValidationSummary отфильтровывает сообщения об ошибках на уровне поля. Ниже будут отображаться сообщения об ошибках в виде сводки вверху. Убедитесь, что у вас нет метода ValidationMessageFor для каждого из полей в вашей модели. Это только для определенных полей.
Вы также можете отобразить пользовательское сообщение об ошибке, используя ValidationSummary. Для отображения настраиваемого сообщения об ошибке, прежде всего, необходимо добавить настраиваемые ошибки в ModelState соответствующим методом действия.
В вашем контроллере:
public ActionResult DoSomething()
{
//Your condition where you want to show your message
//Add to the model state, your custom error
ModelState.AddModelError(string.Empty, "Invalid Credentials Supplied")
return View("Your View Name");
}
Дополнение:
Если вы хотите настроить стиль вашего сообщения об ошибке в вашем View, добавьте класс в ValidationSummary, как это @Html.ValidationSummary(false, "", new { @class = "text-danger" })
. Затем вы можете использовать этот класс в своем CSS следующим образом:
.text-danger
{
/*Your style*/
}