繁体   English   中英

如何使用ASP.net Core在“布局”视图中获取url?

[英]How to get url in Layout view using ASP.net Core?

我需要将MVC项目迁移到.net Core ,我知道System.Web已从ASP.net Core中删除,我需要获取当前url并根据其值显示相同的layout但要进行一些更改。

这是我在MVC中拥有的代码,我需要转换为ASP.net Core:

 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中的错误,但是如何从布局中调用此方法? 如何发送网址作为参数?:

 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;
        }

我是使用以下代码完成的:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM