2013-03-28 45 views
0

我在我的網站的每個頁面上都有一個簡單的表單,表單回滾並由頁面控制器處理。MVC重構每個頁面上的[httpPost]處理程序?

ForController每一頁上..

[HttpPost] 
public ActionResult Index(Models.FindTutorFormModel formModel) 
{ 
    if (ModelState.IsValid) 
    { 
     return Redirect("/thanks/"); 
    } 
    return View(); 
    } 

我真的不希望有複製的代碼在網站的每個頁面控制器有一個簡單的方法來重構這個?

+0

你爲什麼要刪除其他問題?我有一個適合你的工作解決方案。這可以通過部分視圖來處理。檢查我發佈在你的其他問題上的答案 – Shyju

+0

對不起,重新讀了幾遍,以爲我只是在問錯誤的東西。這個問題是有點相同http://stackoverflow.com/questions/15679251/mvc-3-posting-form-from-partial-view – TheAlbear

+0

我認爲這個問題很好寫與所有相關的細節。你應該保持它爲未來的讀者使用相同的場景。 – Shyju

回答

1

我不知道如果這是你的任務的最佳方法,但你可以使用繼承

using System.Web.Mvc; 

    namespace MvcApplication2.Controllers 
    { 
     public class BaseController : Controller 
     { 
      public ActionResult Thanks() 
      { 
       return Content("Thanks!"); 
      } 
     } 

     public class HomeController : BaseController 
     { 
      public ActionResult Index() 
      { 
       ViewBag.Message = "Welcome to ASP.NET MVC!"; 
       return View(); 
      } 
      public ActionResult About() 
      { 
       return View(); 
      } 
     } 

     public class InfoController : BaseController 
     { 
      public ActionResult Index() 
      { 
       ViewBag.Message = "Welcome to ASP.NET MVC!"; 
       return View(); 
      } 
     } 
    } 

所以在每一個控制器,你將有同樣的方法。 我希望它有幫助!