我正在尝试将几个View类从.NET迁移到.NET Core中,而我遇到了缺少" Request"类方法。
我的具体代码如下:
<svg xmlns="http://www.w3.org/2000/svg" width="106" height="106" viewBox="0 0 106 106" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<circle id="a" cx="50" cy="50" r="50"/>
<mask id="b" width="100" height="100" x="0" y="0" fill="white">
<use xlink:href="#a"/>
</mask>
</defs>
<g fill="none" fill-rule="evenodd" transform="translate(3 3)">
<use stroke="#979797" stroke-width="12" mask="url(#b)" stroke-dasharray="6 9" xlink:href="#a">
<animateTransform attributeName="transform"
attributeType="XML"
type="rotate"
from="0 50 50"
to="360 50 50"
dur="10s"
repeatCount="indefinite" />
</use>
<circle cx="50.5" cy="50.5" r="36.5" fill="#D8D8D8"/>
</g>
</svg>
如何替换.NET Core语法的<form id="contactUs" method="post" action="@Request.Url.GetLeftPart(UriPartial.Authority)@Url.Action("ContactUsFormSubmit")" accept-charset="utf-8">
部分?
有没有更好的方法在.NET Core中调用权限部分?
答案 0 :(得分:2)
Request
现在可以在Controller中找到Request
(来自基类),如果你在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();
...这将返回https://localhost/MyController/MyAction?Param1=blah
。