0

我网站的每个页面上都有一个简单的表单,该表单返回并由页面控制器处理。

每个页面上的 ForController..

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

我真的不想为网站中的每个页面控制器复制代码有没有一种简单的方法来重构它?

4

1 回答 1

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();
            }
        }
    }

所以在每个控制器中你都会有相同的方法。我希望它有帮助!

于 2013-03-28T16:18:54.303 回答