2016-11-16 113 views
0

我一直在试图创建一个包含子域看起来像这样batman.website.com一个环节,而是它生成此website.com/?subdomain=batman路由配置子域

我通过这种方法

@Html.RouteLink("Link", new { controller = "home", subdomain = activity.From.Username, id = activity.PostId, action = "post" }) 

生成的链接和我的路由routeconfig类看起来像这样

public static void RegisterRoutes(RouteCollection routes) { 
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
      routes.Add(new SubdomainRoute()); 
     } 
} 

子域的路由在很大程度上基于关闭的这http://benjii.me/2015/02/subdomain-routing-in-asp-net-mvc/

有人能指出我在正确的方向格式化链接是否正确

+1

所以你只是想生成一个子域的动态链接,而不是试图设置你的MVC应用程序来接受基于该子域的传入连接? – Jordan

+0

我觉得这可能会有所帮助: [ASP.NET子域路由](http://stackoverflow.com/questions/278668/is-it-possible-to-make-an-asp-net-mvc-route- based on a-subdomain) – Kuba

+0

@Jordan是的,我只是想在这个时候生成链接,我已经设置好了,所以如果你输入的话就会进入右侧页面 – dbomb101

回答

0

如果你使用MVC认证,你可以做这样的事情,直到视图:

<a href="http://\\@HttpContext.Current.User.Identity.Name\\.website.com">Test Link</a> 

另一种方式(如果您的身份验证不是基于MVC)将在对ViewBag视图控制器设置用户名,然后将其设置在视图中显示:

控制器:

ViewBag.VarName = userName; 

查看:

<a href="http://\\@ViewBag.VarName\\.website.com">Test Link</a> 

另一个问题,让更多的细节和例子: How to get current user, and how to use User class in MVC5?

希望一些这点你在正确的方向!