如何在基于Hosted Url的ASP.Net MVC 5中更改主题

时间:2015-08-04 12:29:10

标签: c# css asp.net-mvc-5

我想基于使用不同网址的托管相同项目动态更改MVC主题。

例如:

本地主机/站点A /帐户/登录

本地主机/网站B /帐户/登录

本地主机/思泰科/帐户/登录

此处SiteA,SiteB,SiteC是我托管的应用程序名称。但这三个应用程序是同一个项目。

谢谢, Pushparaj

2 个答案:

答案 0 :(得分:1)

您可以尝试此示例。在布局页面

$(document).ready(function(){
        if(window.location.href.indexOf('SiteA') !=-1)      
        {
        $('body').append('<link rel="stylesheet" type="text/css" href="{url(SiteA Theme)}">');
        }
        if(window.location.href.indexOf('SiteB') !=-1)      
        {
        $('body').append('<link rel="stylesheet" type="text/css" href="{url(SiteB Theme)}">');
        }
        if(window.location.href.indexOf('SiteC') !=-1)      
        {
        $('body').append('<link rel="stylesheet" type="text/css" href="{url(SiteC Theme)}">');
        }
})

答案 1 :(得分:0)

@{

    if (HttpContext.Current.Request.Url.AbsoluteUri.IndexOf("SiteA") != -1)
    {
        <link href="~/Content/bootstrap.css" rel="stylesheet"  type="text/css"/>
    }
    else if (HttpContext.Current.Request.Url.AbsoluteUri.IndexOf("SiteB") != -1)
    {
        <link href="~/Content/Bootstrap-theme.css" rel="stylesheet"  type="text/css"/>
    }
    else if (HttpContext.Current.Request.Url.AbsoluteUri.IndexOf("SiteC") != -1)
    {
        <link href="~/Content/Bootstrap-theme2.css" rel="stylesheet"  type="text/css"/>
    }
}

我已移除bundle.config中的 bootstrap.css ,并在_layout.chtml页面标记中添加了上述代码。