c# - 在 MVC 中生成完整的 URL?

标签 c# asp.net-mvc

<分区>

Possible Duplicate:
How to I find the absolute url of an action in ASP.NET MVC?
Asp MVC Action link absolute url

你好,

有没有一种简单的方法可以为特定操作生成完整的 URL?我试过这个:

urlHelper.Action("Action", "Controller")

但这确实会生成一个“\”。

致以最诚挚的问候

编辑 1: 我试过这个:

urlHelper.Action("List", "Ad", null, "http"); 

但它只返回:localhost:16055。我期待像 localhost:16055/Ad/List 这样的东西?

最佳答案

使用 Html.ActionLink("Link Title", "Action", "Controller")

要生成完整链接,请使用:

@Html.ActionLink("Link Title", "Action", "Controller", "http", "www.mysampledomain.com", 
                 "_blank", new {id = paramValue}, new { @class="someClass" })

这是带有您可以指定的所有参数的扩展重载。看看这篇 MSDN 文章 http://msdn.microsoft.com/en-us/library/dd492938.aspx

要从 Controller 生成,请使用此代码:

var url = UrlHelper.GenerateUrl(null, "MyAction", "MyController", "http", "www.mydomain.com", String.Empty, null, RouteTable.Routes, this.ControllerContext.RequestContext, false);

url 变量将包含您的 URL 的字符串表示形式。您可以像这样将其存储在 ViewBag 中:

ViewBag.MyUrl = UrlHelper.GenerateUrl(null, "MyAction", "MyController", "http", "www.mydomain.com", String.Empty, null, RouteTable.Routes,
                                        this.ControllerContext.RequestContext, false);

从 View 中称它为:

@ViewBag.MyUrl

应该是这样吧。

关于c# - 在 MVC 中生成完整的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10300833/

相关文章:

c# - 添加到 Outlook c# 中的现有功能区

asp.net-mvc - 将 ASP.NET MVC 路由迁移到 ASP.NET vNext

javascript - 将参数从 Ajax ActionLink MVC 3.0 传递给 Javascript 方法

asp.net-mvc - 传递匿名对象以查看

asp.net-mvc - 如何在asp.net mvc中安排发送电子邮件

c# - Windows Server 2016 上的 IIS 10 未运行我的 ASP.NET MVC 网站

c# - Serilog 的显式日志级别而不是 MinimumLevel

c# - PictureBox 上鼠标光标下的文本

c# - 根据组合框所选项目填充列表框时出现 SQL 语法错误

c# - Twilio StatusCallback 不工作 :