我需要将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.Url
在Core
中不起作用:
@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;
}
答案 0 :(得分:4)
我使用此代码完成了它:
@{
Uri url = new Uri(String.Format("{0}://{1}{2}{3}", Context.Request.Scheme, Context.Request.Host, Context.Request.Path, Context.Request.QueryString));
}