我正在使用 jQuery Mobile 构建网站。其中一个页面是一个局部视图<div id="page13">
,它有一个要发送到使用 Ajax.BeginForm 设置的服务器的简单表单。服务器上的操作方法更新数据库中的值。
原来的局部视图应该被替换为新版本的<div id="page13">
.
实际发生的是在旧版本<div id="page13">
之后插入新版本。
如何用新页面替换页面?
看法
<div data-role="page" data-theme="a" id="page13">
<div data-role="content">
<div>
@using (Ajax.BeginForm("ReinstateAlarms", "Mobile", new { EntityId = ViewBag.EntityId }, new AjaxOptions { UpdateTargetId = "page13", InsertionMode = InsertionMode.Replace, HttpMethod = "Post" }, new { }))
{
@Html.AntiForgeryToken()
<label for="">Reinstate Alarms</label>
<button type="submit" value="Search" >Submit</button>
}
</div>
<div data-theme="a" data-role="footer" data-position="fixed" data-id="footer-div" class="footer-div" >
<div data-role="navbar">
<ul>
<li><a href="#page1" data-transition="fade" data-icon="home">Final Home</a></li>
<li><a href="#page4" data-transition="fade" data-icon="grid">Panel</a></li>
</ul>
</div>
实际表格标签
<form action="/m/ReinstateAlarms/9665" data-ajax="true" 'slideup', true, false);" data-ajax-method="Post" data-ajax-mode="replace" data-ajax-update="#page13" id="form1" method="post">
控制器
public ActionResult PanelAlarms(string EntityId)
{
return PartialView("~/Views/Mobile/Partial/PanelAlarms.cshtml");
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ReinstateAlarms(string EntityId)
{
//Do some databse stufff
return PanelAlarms(EntityId);
}