【问题标题】:How can I replace Request.Url.GetLeftPart(UriPartial.Authority) for .NET Core View class?如何替换 .NET Core View 类的 Request.Url.GetLeftPart(UriPartial.Authority)?
【发布时间】:2016-12-16 22:57:30
【问题描述】:

我正在尝试将几个 View 类从 .NET 迁移到 .NET Core,但我遇到了缺少“请求”类方法的问题。以下问题可能与我的情况有关,但我不确定如何为此目的使用 UriBuilder 或任何其他答案。我想问一些更具体和有点不同的东西。

What is the ASP.NET Core MVC equivalent to Request.RequestURI?

我的具体代码如下:

<form id="contactUs" method="post" action="@Request.Url.GetLeftPart(UriPartial.Authority)@Url.Action("ContactUsFormSubmit")" accept-charset="utf-8">

具体来说,我需要替换代码的 Request.Url.GetLeftPart(UriPartial.Authority) 部分,因为我认为它不是 .NET Core 的可用包。

是否有 .NET Core 的替代品来获取 Url 的“权威”部分?由于我缺乏 .NET/.NET Core 方面的经验,我是否会遗漏简单的参考资料等?

【问题讨论】:

  • 你为什么需要那个?为什么不直接放动作方法名和控制器名呢?那不行吗?
  • 老实说,我不确定它是否可行,我对 .NET Core 还很陌生。我假设我不能对这段代码做同样的事情:if (jQuery == undefined) loadjsfile("@Request.Url.GetLeftPart(UriPartial.Authority)/Scripts/jquery-1.11.2.min.js"); loadjsfile("@Request.Url.GetLeftPart(UriPartial.Authority)/Scripts/jquery.validate.min.js"); loadjsfile("@Request.Url.GetLeftPart(UriPartial.Authority)/Scripts/jquery.validate.unobtrusive.min.js"); loadjsfile("@Request.Url.GetLeftPart(UriPartial.Authority)/Scripts/contactusform.js");
  • 我很乐意阅读一个链接或研究一个特定的概念,它可以解释使用标签助手等的特定替换,但就像我之前的评论一样,我也有它在一个函数中。如果有对这种情况有用的文章/书籍,请告诉我!
  • 我无法对控制器中的 GetLeftPart 和 Request 给出完整的答案,但是对于 GetLeftPart,您可以使用 GetComponents。看到这个答案:stackoverflow.com/a/27473521/154480

标签: c# asp.net .net asp.net-mvc


【解决方案1】:

您可以使用 Uri 类的GetComponents 方法。这应该适用于您的情况:

Request.Url.GetComponents(UriComponents.Scheme | UriComponents.StrongAuthority, UriFormat.Unescaped)

【讨论】:

    猜你喜欢
    • 2014-07-23
    • 2016-12-24
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多