警报Javascript作为操作的返回响应
例如,我如何在users.cshtml视图中创建一个用户,该用户验证为ActionResult创建(RegisterModel um),如果一切正常,我希望返回users.cshtml,但始终带有一个javascript警报或类似警报,以及来自操作的变量值。我能做这个吗 我认为是这样的警报Javascript作为操作的返回响应,javascript,asp.net-mvc-3,alert,Javascript,Asp.net Mvc 3,Alert,例如,我如何在users.cshtml视图中创建一个用户,该用户验证为ActionResult创建(RegisterModel um),如果一切正常,我希望返回users.cshtml,但始终带有一个javascript警报或类似警报,以及来自操作的变量值。我能做这个吗 我认为是这样的 @using (Html.BeginForm()) { @Html.ValidationSummary(true) <fieldset> <legend>Crear Usuari
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Crear Usuario</legend>
<div class="editor-label">
Username:
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.UserName)
@Html.ValidationMessageFor(model => model.UserName)
</div>
<div class="editor-label">
Password:
</div>
<div class="editor-field">
@Html.PasswordFor(model => model.Password)
@Html.ValidationMessageFor(model => model.Password)
</div>
<div class="editor-label">
Repite Password:
</div>
<div class="editor-field">
@Html.PasswordFor(model => model.ConfirmPassword)
@Html.ValidationMessageFor(model => model.ConfirmPassword)
</div>
</div>
<p>
<input type="submit" value="Crear" />
</p>
</fieldset>
我可以这样做吗?在重定向到
用户
操作之前,您可以将消息存储在TempData
中:
TempData["message"] = "some message that you want to display";
return RedirectToAction("Users", "Admin");
然后在Users.cshtml
视图中(由您重定向到的Users
操作返回)测试是否存在此消息,并显示警报
:
@if (TempData["message"] != null) {
<script type="text/javascript">
alert(@Html.Raw(Json.Encode(TempData["message"])));
</script>
}
@if(TempData[“message”!=null){
警报(@Html.Raw(Json.Encode(TempData[“message”])));
}
我试图在同一个视图中显示错误,而不是尝试darin的答案,我尝试了其他方法,比如使用ViewBag
,并通过返回部分视图来在另一个页面中显示错误
最后,我尝试使用TempData
,在post期间维护消息,这里我使用引导显示错误
行动方法:
[HttpPost]
public ActionResult RegDetail(User_table usob, FormCollection col)
{
// some other code here
if (!sqlReader.HasRows)
{
TempData["message"] = "Contains some message";
return RedirectToAction("Registration");
}
return RedirectToAction("Index");
}
@if (TempData["message"] != null)
{
<link href="~/css/boostrap.css" rel="stylesheet" />
<script src="~/js/boostrap.min.js"></script>
<div class="alert alert-danger">
<a class="close" data-dismiss="alert">×</a>
<strong style="width:12px">Error!</strong> Thats wrong code no, try entering correct!
</div>
}
我的注册视图:
[HttpPost]
public ActionResult RegDetail(User_table usob, FormCollection col)
{
// some other code here
if (!sqlReader.HasRows)
{
TempData["message"] = "Contains some message";
return RedirectToAction("Registration");
}
return RedirectToAction("Index");
}
@if (TempData["message"] != null)
{
<link href="~/css/boostrap.css" rel="stylesheet" />
<script src="~/js/boostrap.min.js"></script>
<div class="alert alert-danger">
<a class="close" data-dismiss="alert">×</a>
<strong style="width:12px">Error!</strong> Thats wrong code no, try entering correct!
</div>
}
@if(TempData[“message”!=null)
{
在James先生解释使用bootstrap消息时,“希望帮助某人”谢谢darin,我没有尝试你的,而是浪费了一些时间,我已经在下面使用bootstrap发布了答案