您应该指定表单使用GET请求(而不是发布)提交,并指定您希望重定向到的操作,以便不必使用RedirectToAction。
例如:
控制器:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult NextAction(IndexModel model)
{
return View();
}
}
型号:
public class IndexModel
{
public string StartDate { get; set; }
public string EndDate { get; set; }
public string Catalog { get; set; }
}
检视:
@model MvcApplication22.Models.IndexModel
@using (Html.BeginForm("NextAction", "Home", FormMethod.Get))
{
<p>Start Date: @Html.EditorFor(m => m.StartDate)</p>
<p>End Date: @Html.EditorFor(m => m.EndDate)</p>
<p>Catalog: @Html.EditorFor(m => m.Catalog)</p>
<input type="submit" value="submit" />
}
但请注意,在GET HTTP请求中对系统进行任何更改不是最佳实践。如果要进行任何更改,则应在POST请求中执行这些更改。
是的,我试过这个,但是在我的控制器的动作被调用后,我使用RedirectToAction方法重定向到不同的控制器的动作,在视图中我的结果列表中 – 2012-01-16 23:13:41
谢谢xixonia – 2012-01-16 23:29:35