C# 操作将转到服务器,但不是根URL
MVC新手,如果我的问题不清楚,请原谅 我的视图-具有URL(在主控制器中生成) 当我将其部署到dev服务器时,而不是将URL显示为C# 操作将转到服务器,但不是根URL,c#,asp.net-mvc,url,C#,Asp.net Mvc,Url,MVC新手,如果我的问题不清楚,请原谅 我的视图-具有URL(在主控制器中生成) 当我将其部署到dev服务器时,而不是将URL显示为 https://abc.somecompany.org/ContName/ 或 正在将其更改为https://abc-server-8088/ContName,这显然不适用于组织外部 为什么根URL从abc.somecompany.org/更改为abc-server-8088?开发和测试中都存在类似的问题。这将被更改为其他内容 不想将其更改为URL内容,因为我
https://abc.somecompany.org/ContName/
或
正在将其更改为https://abc-server-8088/ContName
,这显然不适用于组织外部
为什么根URL从abc.somecompany.org/
更改为abc-server-8088
?开发和测试中都存在类似的问题。这将被更改为其他内容
不想将其更改为URL内容,因为我有操作和控制器
@Url.Action("Index", "ContName" ,
new { id = viewModel.Id }, Request.Url.Scheme);
viewModel.URLLINK = Url.Action(Etion.Index, Entroller.ContName,
new { id = viewModel.Id }, Request.Url.Scheme);
要在电子邮件中显示相同的根URL(~),请尝试以下简单解决方案:
@{
var myLink = $"{Request.Url.Scheme}://{Request.Url.Host}{@Url.Action("actionName", "controllerName", new { id = @Model.id })}";
<a href="@myLink">Link</a>
}
生成:
<a href="/somecontroller/someaction/123?foo=5">link text</a>
但是,Url.action
的优点在于,您可以将其与锚定标记结合起来,动态创建链接内容。例如:
<a href="@Url.Action("actionName", "controllerName", new { id = @Model.id })">
<img src="@Model.src" />
</a>
调用此行时会发生什么@Url.Action(“Index”,“ContName”,new{id=viewModel.id},Request.Url.Scheme)
不带请求.Url.Scheme
。只需使用@Url.Action(“Index”,“ContName”,new{id=viewModel.id})代码>。我从未见过Request.Url.Scheme
在Url.Action()
的大多数示例中被传递,它很可能是导致问题的原因之一。您能显示route.config内容吗
<a href="/somecontroller/someaction/123?foo=5">link text</a>
/somecontroller/someaction/123
<a href="@Url.Action("actionName", "controllerName", new { id = @Model.id })">
<img src="@Model.src" />
</a>