如何在asp.net mvc视图中回答JavaScript
本文关键字:JavaScript 视图 mvc asp net | 更新日期: 2023-09-27 18:06:59
我有这样的代码:
@if (!string.IsNullOrWhiteSpace(Model.ErrorMessage))
{
<script>
$('#modalError').modal('show');
</script>
Response.Write("<script>alert('hello');</script>");
HttpContext.Current.Response.Write("<script>alert('hello');</script>");
}
Where check if Model。错误消息不同于空,所以我向用户发出警告,但是表单提交的条件没有,如果这样工作,怎么能做到呢?
already I tried so:
@if (!String.IsNullOrEmpty(ViewData["erro"] as string))
{
<script>alert(@ViewData["erro"]);</script>
}
这是视图的一部分。
我的控制器是这样的:
public ActionResult Login(LoginViewModel model, SignInMessage message)
{
if (!String.IsNullOrEmpty(model.ErrorMessage))
ViewData["erro"] = !String.IsNullOrEmpty(model.ErrorMessage) ? model.ErrorMessage : null;
return this.View(model);
}
我想显示一个javascript消息,因为我将使用模式引导
正如其他人在评论中指出的,我也同意,不确定你的方法是否正确,或者如果是,那么我们需要更多的信息,也就是说,你有以下选择
- 在视图模型上使用简单的数据验证来通知用户一个无效的电子邮件-这是内置到MVC为您- MVC的数据注释。以下是链接http://www.asp.net/mvc/overview/older-versions-1/models-data/performing-simple-validation-cs
-
从你的评论来看,看起来你想在登录时显示一些东西失败,意味着你的服务器代码返回说
Auth failed
,如果是这样的话,我假设这里是这样的控制器代码public ActionResult Login(LoginModel login) { if(ModelState.IsValid) { //you call your service to get back the result if(!NotAValidUser) { ModelState.AddModelError("LoginFailed", "The user name and or password is incorrect.") } } }
@Html.ValidationMessage("LoginFailed") // this will display the above message
如果它是一个视图,那么你最好使用Javascript/JQuery。为此,您需要在HTML的某个地方添加一个隐藏字段,并将值设置为Model.ErrorMessage
。这样的:
<input type="hidden" id="hdError" value="@Model.ErrorMessage" />
然后在HTML正文的末尾添加Javascript代码:
<script>
$(function() {
var errorStr = $("#hdError").val();
if (errorStr) {
alert("hello"); //or any other alert message
}
});
</script>