2016-10-03 81 views
0

我需要一個MVC項目遷移到.net Core,我知道System.WebASP.net Core刪除,我需要獲得當前url並根據價值的它,然後顯示相同的layout但也有一些變化。如何使用ASP.net Core在佈局視圖中獲取url?

這是我在MVC代碼,我需要翻譯成ASP.net核心:

public class LIGCalculators 
    { 

     public static bool LargePano(Uri url) 
     { 

      var path = url.AbsolutePath.ToLower(); 
      if (path == "/") 
      { 
       return true; 
      } 
      if (path.Contains("Home")) 
      { 
       return true; 
      } 
      return false; 
     } 
    } 

Layout視圖(MVC),Request.UrlCore不起作用:

@if (LIGCalculators.LargePano(Request.Url)) 
    { 
     <div class="blue"></div> 
     <div class="pano-bg"></div> 
     <div class="bgs"> 
      <div class="orangeL"></div> 
      <div class="blue2L"></div> 
     </div> 
    } 
    else 
    { 
     <div class="blue-big"></div> 
     <div class="small-pano-bg"></div> 
     <div class="bgs"> 
      <div class="orange"></div> 
      <div class="blue2"></div> 
     </div> 
    } 

這不是在ASP.net Core中顯示錯誤,但是如何從佈局中調用此方法?如何發送URL作爲參數?:

public static bool LargePano(Uri url) 
     { 
      // return true; 
      var path = url.AbsolutePath.ToLower(); 
      if (path == "/") 
      { 
       return true; 
      } 
      if (path.Contains("Home")) 
      { 
       return true; 
      } 
      return false; 
     } 

回答

2

我做到了使用此代碼:

@{ 
      Uri url = new Uri(String.Format("{0}://{1}{2}{3}", Context.Request.Scheme, Context.Request.Host, Context.Request.Path, Context.Request.QueryString));   
     } 

     *@if (LIGCalculators.LargePano(url)) 
     { 
      //do something 
     }