0

我正在用 MVC4 重写一个 ASP.NET webforms 应用程序,并且想知道如何解决以下问题。它是一个多租户应用程序,因此部分 URL 中包含租户名称:

http://mysite/tenant/controller/action

但是租户是代表租户的缩写,但我想始终将其转换为相应的整数 id 并在整个代码中使用它。编写一次转换代码并为所有控制器方法提供一些变量/属性的最佳方法是什么。

public class DivisionController : Controller
{
    //
    // GET: /Division/

    public ActionResult Index()
    {
        // I want this.TenantId to be available in all controller methods
        FetchDivisions(this.TenantId);
        return View();
    }

基本控制器是处理这个或过滤器或属性的最佳方式吗?

4

1 回答 1

2

是的,基本控制器可以很好地处理这个问题。如果您需要执行数据库查找以将缩写转换为整数值,您可以使用 OnActionExecuting 事件,如下所示:

protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
    base.OnActionExecuting(filterContext);

    // Lookup code here.
}
于 2013-07-03T17:38:02.430 回答