bom*_*bai 3 javascript alert asp.net-mvc-3
我怎么能做,例如,我在users.cshtml视图中创建一个用户,它验证ActionResult创建(RegisterModel嗯),如果一切正常,我想返回users.cshtml但总是有一个javascript警报或类似,具有来自动作的变量的值.我可以这样做吗?
在我看来,我有这个...
@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>
Run Code Online (Sandbox Code Playgroud)
这在我的控制器动作..
public ActionResult Create(RegisterModel um)
{
if (um.Password == um.ConfirmPassword)
{
// Attempt to register the user
MembershipCreateStatus createStatus;
Membership.CreateUser(um.UserName, um.Password, um.Email, um.PasswordAnswer, um.PasswordQuestion, true, null, out createStatus);
if (createStatus == MembershipCreateStatus.Success)
{
var alert = MembershipCreateStatus.Success.ToString();
}
else
{
ModelState.AddModelError("", ErrorCodeToString(createStatus));
var alert = ErrorCodeToString(createStatus);
}
}
//HERE IS WHERE I WANT TO RETURN TO /ADMIN/USERS BUT WITH AN ALERT WITH CONTAINING THE VALUE OF alert IN A JAVASCRIPT OR SIMILAR ALERT WINDOW
return RedirectToAction("Users", "Admin"); ???????
Run Code Online (Sandbox Code Playgroud)
我可以这样做吗?
您可以TempData在重定向到Users操作之前将消息存储在内部:
TempData["message"] = "some message that you want to display";
return RedirectToAction("Users", "Admin");
Run Code Online (Sandbox Code Playgroud)
然后在Users.cshtml视图内部(由Users您重定向的操作返回)测试是否存在此消息并显示alert:
@if (TempData["message"] != null) {
<script type="text/javascript">
alert(@Html.Raw(Json.Encode(TempData["message"])));
</script>
}
Run Code Online (Sandbox Code Playgroud)