如何为 ASP.NET Core View class 替换 "Request" class 方法?
How can I replace a "Request" class method for ASP.NET Core View class?
我正在尝试将少数视图 classes 从 .NET 迁移到 .NET Core,但我遇到了缺少 "Request" class 方法的问题。
我的具体代码如下:
<form id="contactUs" method="post" action="@Request.Url.GetLeftPart(UriPartial.Authority)@Url.Action("ContactUsFormSubmit")" accept-charset="utf-8">
如何替换 .NET Core 语法的 Request.Url.GetLeftPart(UriPartial.Authority)
部分?
在.NET Core中调用权限部分有没有更好的方法?
Request
现在可以在控制器中找到 Request
(来自基础 class),如果您在 MVC 视图中,则可以在 @Context.Request
处找到。
但是 Request.Url
没有 的替代品,所以你需要自己制作:(见编辑)
string.Concat(Request.Scheme,
"://",
Request.Host.ToUriComponent(),
Request.PathBase.ToUriComponent(),
Request.Path.ToUriComponent(),
Request.QueryString.ToUriComponent())
但你的情况似乎没有必要。您可以让浏览器处理相对路径...
<form id="contactUs" method="post" action="@Url.Action("ContactUsFormSubmit")" accept-charset="utf-8">
或使用 MVC Core 原生方式(使用标签助手):
<form asp-controller="MyController" asp-action="ContactUsFormSubmit" method="post">
编辑: 实际上有 Request.Url
的替代品:
添加:using Microsoft.AspNetCore.Http.Extensions;
然后调用 Request.GetDisplayUrl();
... 那将 return https://localhost/MyController/MyAction?Param1=blah
.
我正在尝试将少数视图 classes 从 .NET 迁移到 .NET Core,但我遇到了缺少 "Request" class 方法的问题。
我的具体代码如下:
<form id="contactUs" method="post" action="@Request.Url.GetLeftPart(UriPartial.Authority)@Url.Action("ContactUsFormSubmit")" accept-charset="utf-8">
如何替换 .NET Core 语法的 Request.Url.GetLeftPart(UriPartial.Authority)
部分?
在.NET Core中调用权限部分有没有更好的方法?
Request
现在可以在控制器中找到 Request
(来自基础 class),如果您在 MVC 视图中,则可以在 @Context.Request
处找到。
但是 的替代品,所以你需要自己制作:(见编辑)Request.Url
没有
string.Concat(Request.Scheme,
"://",
Request.Host.ToUriComponent(),
Request.PathBase.ToUriComponent(),
Request.Path.ToUriComponent(),
Request.QueryString.ToUriComponent())
但你的情况似乎没有必要。您可以让浏览器处理相对路径...
<form id="contactUs" method="post" action="@Url.Action("ContactUsFormSubmit")" accept-charset="utf-8">
或使用 MVC Core 原生方式(使用标签助手):
<form asp-controller="MyController" asp-action="ContactUsFormSubmit" method="post">
编辑: 实际上有 Request.Url
的替代品:
添加:using Microsoft.AspNetCore.Http.Extensions;
然后调用 Request.GetDisplayUrl();
... 那将 return https://localhost/MyController/MyAction?Param1=blah
.