建设 URL 或其他 ASP.NET MVC 中的链接

发布时间: 2016/9/18 2:49:50
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我想要建立一个在运行时的 URL 资源时呈现为 XML 或 JSON。我可以轻易做到这,当视图是 HTML 和呈现只有部分的资源,但当我呈现包含一个链接到另一个资源,我想要动态地生成正确的 URL,根据主机 (站点) 和资源特定的 URI 部分资源。

<components>
   <component id = "1234" name = "component A" version = "1.0">
       <link rel = "/component" uri="http://localhost:8080/component/1234" />
   </component>
<components>

如何确保 uri 值是否正确?

解决方法 1:

使用 ControllerContext.HttpContextHttpContextBase 保存有关当前请求的信息︰

var context = ControllerContext.HttpContext;
var host = string.Format("{0}://{1}:{2}/", 
                          context.Request.Url.Scheme, 
                          context.Request.Url.Host, 
                          context.Request.Url.Port);

并结合 host 使用生成的 url 与 UrlHelper (参看 Url 属性的 Controller 类)。

赞助商