您應該指定表單使用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