首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多租户应用中基于路由参数的控制器属性自动设置

多租户应用中基于路由参数的控制器属性自动设置
EN

Stack Overflow用户
提问于 2015-02-05 11:13:39
回答 1查看 87关注 0票数 1

我目前正在开发一个内容管理的多租户应用程序,它将有一个可访问的管理页面集和一个面向公共的页面集。我不太担心管理访问页面,因为我将有一个单一的管理URL,所有用户使用登录到管理区域。我要问的是面对网页的公众。

如果我们设想管理页面允许您创建和管理一组按学校分组的大学网站的内容,而面对这些内容的公众只需显示这些内容。

我已设置了下列途径,以处理公众面对网页的访问:

代码语言:javascript
复制
routes.MapRoute(
            name: "Site",
            url: "{schoolName}/{collegeName}/{controller}/{action}/{id}",
            defaults: new { schoolName = "Oxford", collegeName = "Balliol",  controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

这很好,并没有问题地调用以下控制器操作:

代码语言:javascript
复制
public class HomeController
{
    public ActionResult Index(string schoolName, string collegeName)
    {
        return View();
    }
}

但是,我想知道是否有一种方法可以让它正常工作,而不必始终接受schoolNamecollegeName作为控制器操作中的参数?如果在我为面对页面的公众创建的每一个动作中都必须接受这些参数,我就会发现这将成为一个问题。

我正在考虑创建一个PublicFacingController,所有面向公共的页面都继承它,其中包含学校名称和大学名称的属性。但我不知道如何填充它们,以便在不将它们作为参数传递给操作的情况下在派生控制器中使用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-05 11:24:14

您可以访问基本控制器中的Controller.Request属性以获取学校和大学的值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28342473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档