0

MVC的新手,如果我的问题不清楚,请原谅。

我的观点 - https://abc.somecompany.org/有 URL(在家庭控制器中生成)

@Url.Action("Index", "ContName" ,
                new { id = viewModel.Id }, Request.Url.Scheme);

当我将它部署到开发服务器时,而不是将 URL 显示为

https://abc.somecompany.org/ContName/ 

或者

https://abc.somecompany.org/ContName/Index

它正在被更改为https://abc-server-8088/ContName,这显然在组织之外不起作用。

为什么根 URL 从 更改abc.somecompany.org/abc-server-8088?开发和测试中的类似问题。这正在更改为其他内容

不想将其更改为 URL Content ,因为我有操作和控制器

viewModel.URLLINK = Url.Action(Etion.Index, Entroller.ContName,
                new { id = viewModel.Id }, Request.Url.Scheme);

希望相同的根 URL (~) 显示在电子邮件中

4

1 回答 1

0

试试这个简单的解决方案:

@{
    var myLink = $"{Request.Url.Scheme}://{Request.Url.Host}{@Url.Action("actionName", "controllerName", new { id = @Model.id })}";
    <a href="@myLink">Link</a>
}

简短回顾:

  1. Html.ActionLink生成一个<a href=".."></a>标签。例如:
@Html.ActionLink("link text", "someaction", "somecontroller", new { id = "123", foo=5 },  new { @class = "btn btn-primary" })

生成:

    <a href="/somecontroller/someaction/123?foo=5">link text</a>
  1. Url.Action仅返回一个 url。例如,Url.Action("someaction", "somecontroller", new { id = "123" })生成:
     /somecontroller/someaction/123

但是,好的一点Url.action是您可以将它与锚标记结合起来以动态创建链接内容。例如:

<a href="@Url.Action("actionName", "controllerName", new { id = @Model.id })">
    <img src="@Model.src" />
</a>
于 2019-09-15T05:06:49.050 回答