我正在使用一个简单的模态弹出窗口。我的目标是将对话框的信息发送到另一个视图。 我的索引视图如下。
<button id="modal-opener">Open</button>
<div id="dialog-modal">
@using (Ajax.BeginForm("Index",new AjaxOptions{UpdateTargetId = "ID",HttpMethod = "Post",OnSuccess = "onSuccess"}))
{
<div>
<fieldset>
<legend>Acount Information</legend>
<div id="editor-label">
@Html.LabelFor(a=>a.FirstName)
</div>
<div id="editor-field">
@Html.TextBoxFor(a=>a.FirstName)
@Html.ValidationMessageFor(a=>a.FirstName)
</div>
<div id="editor-label">
@Html.LabelFor(a=>a.LastName)
</div>
<div id="editor-field">
@Html.TextBoxFor(a=>a.LastName)
@Html.ValidationMessageFor(a=>a.LastName)
</div>
<p>
<input type="submit" value="submit"/>
</p>
</fieldset>
</div>
}
</div>
我的_Layout.cshtml如下:
<script>
$(function() {
$("#dialog-modal").dialog({
autoOpen: false,
width: 300,
height: 250,
show: {
effect: "blind",
duration:1000
},
hide: {
effect: "explode",
duration:1000
}
});
$("#modal-opener").click(function() {
$("#dialog-modal").dialog("open");
});
});
function onSuccess() {
$("#dialog-modal").dialog("close");
}
</script>
我的控制器在下面,所以我想将FirstName和LastName发送到详细信息视图
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(Person person)
{
return RedirectToAction("Details",person);
}
public ActionResult Details(Person person)
{
return View(person);
}
答案 0 :(得分:0)
如果您想要完全重定向而不是部分回发,则需要更改此行:
@using (Ajax.BeginForm("Index",new AjaxOptions{UpdateTargetId = "ID",HttpMethod = "Post",OnSuccess = "onSuccess"}))
进入
@using(Html.BeginForm("Index"))
如果您只想对详细信息视图进行部分回发,请将索引上的操作更改为详细信息
@using (Ajax.BeginForm("Details",new AjaxOptions{UpdateTargetId = "ID",HttpMethod = "Post",OnSuccess = "onSuccess"}))
HTH