根据网址更改导航栏

时间:2019-03-25 17:58:38

标签: asp.net-mvc razor core

我有一个MVC核心网络应用,该应用每年都在变化,并且具有测试数据。网址是(示例)

2017.applicationdomain.com

2018.applicationdomain.com

test.applicationdomain.com

在我的_Layout页面上,我当前正在为每个URL发布之前对NAVBAR部分进行注释和取消注释(如您所见,导航栏颜色和品牌文本会根据URL进行更改)。

在此处查看代码:

<!--Selector-->
    <!--2017-->
    @*<nav class="navbar navbar-expand-md navbar-dark" style="min-height:55px;background-color:#035338">
        <div class="container">
            <a asp-area="" asp-controller="Cashier" asp-action="Index" class="navbar-brand">
                2017 Data
            </a>*@
    <!--Test-->
    <nav class="navbar navbar-expand-md navbar-dark" style="min-height:55px;background-color:#221958">
        <div class="container">
            <a asp-area="" asp-controller="cashier" asp-action="index" class="navbar-brand">
                test data
            </a>
    <!--2018-->
    @*<nav class="navbar navbar-expand-md navbar-dark bg-dark" style="min-height:55px;">
        <div class="container">
            <a asp-area="" asp-controller="Cashier" asp-action="Index" class="navbar-brand">
                <img class="img-fluid" src="~/images/CUF_Logo1.png" />
            </a>*@
<!--End of Selector-->

我想自动执行此操作,而又不会在视图上造成过多开销,这会减慢它的速度。我知道我可以在@ Context.Request.Host的字符串比较上执行switch语句,但我一直认为您应该在视图上使用最少的代码,将代码留在控制器中。

有人对如何在控制器的服务器端而不是视图中的服务器端有任何想法吗?

0 个答案:

没有答案