事情就是这样。我有一个如下所示的控制器
public class StoreController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Create()
{
return View();
}
[HttpPost]
public ActionResult Create(string id, string name)
{
//... some WCF logic here.
return RedirectToAction("Index");
}
}
我的问题是 post Create 方法。当它调用 RedirectToAction() 时,我在 Web 浏览器中看到索引页面,但 URL 仍然显示http://.../Store/Create
,如果我按下浏览器刷新按钮,那么我得到的不是索引视图,而是创建视图。没有使用 AJAX。只是正常Html.BeginForm("Create", "Store", FormMethod.Post)
。
我的路线配置如下:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
有任何想法吗?0_0
编辑 1
也许我应该指出我使用 jquery mobile
编辑 2
我的看法,以防万一。
@model WebApp.Models.StoreCreateModel
@{
ViewBag.Title = "Create";
}
@using (Html.BeginForm("Create", "Store", FormMethod.Post))
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Store</legend>
@Html.Partial("_StoreEditFields", this.Model)
<p>
<input type="submit" value="Create" />
<a href="@Url.Action("Index")" data-role="button">Back to list</a>
</p>
</fieldset>
}
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}