我有一个AJAX.BeginForm()表单,我想提交一个Html帖子作为最后的帖子。这是我的表格
@using (Ajax.BeginForm("createSet", "Workout",
new AjaxOptions { InsertionMode = InsertionMode.Replace, UpdateTargetId = "divs",
HttpMethod = "POST"}, new { id = "myForm" }))
{
<div id="divs">
@Html.Partial("WorkoutSet", Session["WorkoutSetList"])
</div>
@Html.ActionLink("Submit", "SavePlan", "Workout", new { type = "submit" });
//<input type="submit" value="Submit" id="submit" name="command" />
<input type="submit" value="Create Set" name="command" />
}
基本上我的&#34;创造集&#34;按钮用于ajax调用很多工作正常。我能够绑定从局部视图渲染的模型,并在每次ajax调用时将我的模型更新为session。
对于我的最后一步,我想将整个表单与模型值一起提交到SavePlan
Action,然后重定向到主页。
面临的问题:
首先,我尝试了Ajax Submit
按钮(注释掉的代码),脚本将其重定向到SavePlan
以及从partialview呈现的模型值。唯一的问题是我无法重定向到HomePage
并且我已经读过无法在ajax调用上完成重定向。
其次,我已尝试@Html.ActionLink
进入SavePlan
操作,然后继续重定向到HomePage
,但模型值从未通过。我已尝试FormCollection
,但价值观也未通过。
请提供一些如何解决此问题的建议?我已经花了两天时间在上面,而且我已经撕毁了它。
回顾一下:
答案 0 :(得分:0)
你可以从ajax POST重定向 - 在你的控制器中,你需要返回一个window.location javascript片段:
return JavaScript(string.format("window.location = '{0}'", Url.Action("Index")));
这里有一篇文章:Breaking out of an AJAX POST