我的理念:
既然是Asp.Net Mvc,那就肯定要用PRG。但是簡單的PRG不能在輸入頁面顯示 Html.ValidationMessage,另一個就是之前的數據會被全部清空或者初始化了。
想想要我是打了半天的字一下全沒了那多慘啊。你的訪客不氣傻了才怪。
OK,Google一下,找到了http://weblogs.asp.net/rashid/archive/2009/04/01/asp- net-mvc-best-practices-part-1.aspx
阿,他叫什麼名字我不認識,我也看不懂英文的版權聲明,所以這只有個鏈接沒署名了。 誰認識他叫他寫個C#版或者VB.Net版的版權聲明吧,謝謝。
英文不好不要緊,直接看第13點:Use PRG Pattern for Data Modification
Controller[AcceptVerbs(HttpVerbs.Get), OutputCache(CacheProfile = "Dashboard"), StoryListFilter, ImportModelStateFromTempData]
public ActionResult Dashboard(string userName, StoryListTab tab, OrderBy orderBy, int? page)
{
//Other Codes
return View();
}
[AcceptVerbs(HttpVerbs.Post), ExportModelStateToTempData]
public ActionResult Submit(string userName, string url)
{
if (ValidateSubmit(url))
{
try
{
_storyService.Submit(userName, url);
}
catch (Exception e)
{
ModelState.AddModelError(ModelStateException, e);
}
}
return Redirect(Url.Dashboard());
}
自定義了兩個ActionFilter,阿,作者好像打錯別字了。您別在意。