2017-01-21 66 views
0

我試圖從.net mvc應用程序的共享佈局中獲取當前頁面,以便可以爲2個不同的頁面加載不同的favicon圖標。.NET MVC獲取共享佈局中的當前頁面和控制器

我已經試過類似如下:

@if (Request.Url.AbsoluteUri.ToString().ToLower().Contains("/Analyze/Index")) 
{ 

    <link rel="icon" type="image/png" href="/favicon.png" /> 
} 

但這並不作品...

我如何可以獲取當前控制器和查看該用戶是在瀏覽網站,所以我可以在他/她的瀏覽器中加載這個favicon?

+1

你爲什麼不從控制器把它作爲ViewData的,這樣你可以有不同的contollers /動作不同的圖標圖像。 – LKC

+0

@LKC啊好點! =)Thx的想法:) – User987

回答

3

您可以從您的RouteData字典中獲取當前控制器名稱&操作方法名稱。

@{ 
    var controllerName = string.Empty; 
    object controllerObj; 
    var actionName = string.Empty; 
    object actionObj; 

    if (ViewContext.RouteData.Values.TryGetValue("controller", out controllerObj)) 
    { 
     controllerName = controllerObj.ToString(); 
    } 

    if (ViewContext.RouteData.Values.TryGetValue("action", out actionObj)) 
    { 
     actionName = actionObj.ToString(); 
    } 
} 
+0

所以我應該然後只是做:如果controllername ==「分析」&&動作名稱==「索引」{/ /加載在這裏favicon? } – User987

+1

給它一個鏡頭.. – Shyju

+1

作品像一個魅力,ty =) – User987

相關問題