mvc3如何重用我的actionResult代码

时间:2013-09-22 00:57:15

标签: asp.net-mvc-3 reusability

大家好,因为你可以告诉我还在学习,我想知道如何或者什么是最好的方法来重用我的代码进行数据库操作;例如使用下面的代码

   // i reuse this code multiple times throughout my site but everytime I change it I must change
 // all of the different Edit's each time I would like a central hub for all of it.
[Authorize]
    public ActionResult Edit()
    {



        var ss = User.Identity.Name;
        int myid = Convert.ToInt32(ss);
        var buyer = (from s in db.buyers where myid == s.RegistrationID select s).FirstOrDefault();


        ViewBag.RegistrationID = myid;

        if (buyer != null && buyer.RegistrationID == myid)
        {

            return View(buyer);
        }
        else
        {
            RedirectToAction("buyerrequire");

        }
        return View("buyerrequire");
    }

如何将此类代码放入可重复使用的容器中?因此,如果我在那里更改了某些内容,它会在使用该容器的网站上进行更改,像_Partial一样排序,除了ActionResults ...感谢您的帮助..

1 个答案:

答案 0 :(得分:0)

有多种方法可以做到这一点。 1.您可以为此目的使用另一个基本控制器,如下所示:

public class SomeController : Controller{
  // the code you use in multiple places.
}

然后需要这些代码的控制器可以扩展该控制器。

  1. 您可以拥有[Attribute]此功能,您可以使用此属性修饰方法。
  2. 我会选择2,这也是asp.net mvc用于公共代码(如属性,日志记录,安全性等)的内容。