2016-10-03 10 views
0

は、私は現在のurlを取得する必要があり、それはその後、いくつかの変更と同じlayoutを表示の値に応じて、私はSystem.WebASP.net Coreから削除されたことを知って、.net CoreMVCプロジェクトを移行する必要があります。ASP.netコアを使用してレイアウトビューで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 
     } 
関連する問題