Asp.Net Mvc4 Ajax提交数据成功弹框后跳转页面
1.cshtml页面代码
@model Model.UserInfo
@{ ViewBag.Title = "Edit";
var options = new AjaxOptions()
{
Url = Url.Action("Edit", "Home"),
LoadingElementId = "saving",
LoadingElementDuration = 2000, // Confirm = "Are you sure you want to save this User?"
OnSuccess = "updateSuccess"
};
}
<h2>Edit</h2>
@using (Ajax.BeginForm("Edit", null, options, new { role = "form" }))
{
@Html.ValidationSummary(true)
<fieldset> <legend>UserInfo</legend>
@Html.HiddenFor(model => model.Id)
<div class="editor-label"> @Html.LabelFor(model => model.Name) </div> <div class="editor-field"> @Html.EditorFor(model => model.Name) @Html.ValidationMessageFor(model => model.Name) </div>
<div class="editor-label"> @Html.LabelFor(model => model.Password) </div> <div class="editor-field"> @Html.EditorFor(model => model.Password) @Html.ValidationMessageFor(model => model.Password) </div>
<div class="editor-label"> @Html.LabelFor(model => model.RealName) </div> <div class="editor-field"> @Html.EditorFor(model => model.RealName) @Html.ValidationMessageFor(model => model.RealName) </div>
<div class="editor-label"> @Html.LabelFor(model => model.UpdateDate) </div> <div class="editor-field"> @Html.EditorFor(model => model.UpdateDate) @Html.ValidationMessageFor(model => model.UpdateDate) </div>
<p> <input type="submit" value="Save" /> </p> </fieldset> }
<div> @Html.ActionLink("Back to List", "Index") </div>
@section Scripts { @Scripts.Render("~/bundles/jqueryval") }
<script type="text/javascript">
function updateSuccess(data) {
if (data=="success") {
alert('保存成功!');
window.location.href = "@Url.Action("Index", "Home")";
}
else
{
alert('保存失败!' + data);
}
}
</script>
2.后台代码
[HttpPost]
public JsonResult Edit(UserInfo model)
{
//更新用户信息 ViewBag.flag为true表示保存成功,弹框
string flag = BllFactory.GetUserBLL().SaveUserInfo(model);//数据处理
return Json(flag, JsonRequestBehavior.DenyGet);
}
3.Model
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Model {
public class UserInfo
{
#region Model
private long _id;
private string _name;
private string _password;
private string _realname;
private DateTime? _updatedate = DateTime.Now;
/// <summary> ///
/// </summary>
public long Id { set { _id = value; } get { return _id; } }
/// <summary> ///
/// </summary>
public string Name { set { _name = value; } get { return _name; } }
/// <summary> ///
/// </summary>
public string Password
{ set { _password = value; } get { return _password; } }
/// <summary> ///
/// </summary>
public string RealName { set { _realname = value; } get { return _realname; } }
/// <summary> ///
/// </summary>
public DateTime? UpdateDate { set { _updatedate = value; } get { return _updatedate; } }
#endregion Model
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构