首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >传递相对URL ASP.NET MVC3

传递相对URL ASP.NET MVC3
EN

Stack Overflow用户
提问于 2011-12-16 03:27:17
回答 2查看 848关注 0票数 0

我正在尝试将一个带有Id属性的URL列表从一个控制器传递给一个视图。我可以回传一个<a href=...>链接,但我不认为写一个'localhost‘绝对路径是解决这个问题的一种干净的方法。我不能回传一个ActionLink,因为它返回完整的字符串。这个问题有没有简单的解决方案?提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-16 03:36:01

使用UrlHelper.Action()方法和Request对象的重载,您可以获得一个完整的URL,包括路由参数,比如ID和应用程序的实际主机名。

代码语言:javascript
运行
复制
string url = Url.Action("action", "controller", 
    new System.Web.Routing.RouteValueDictionary(new { id = id }), 
    "http", Request.Url.Host); 

通过其Url属性,可以在控制器中使用UrlHelper

然后,您可以将这样的URL传递到视图中。

还可以直接在视图中使用UrlHelper为控制器操作创建URL。取决于您是否真的需要在控制器中创建它们。

编辑回复评论的

在您需要放置URL的任何地方,您正在寻找的"URL生成器“仍然是UrlHelper。您只需将它(或生成的URL)传递到您需要它的地方,在控制器、视图或自定义帮助器中。

要获得您提到的未排序列表HTML结构中的链接,您需要将锚点放在列表项中,如下所示:

代码语言:javascript
运行
复制
<ul>
    <li><a href="URL">Link</a></li>
    ...
</ul>

再说一次,你只需要从某个地方获取URL,那就是从UrlHelper

票数 1
EN

Stack Overflow用户

发布于 2011-12-16 03:41:35

简单和容易。

代码语言:javascript
运行
复制
 <a href="@Url.Action("action","controller",new {id = my_var_id})">text</a>

路由id =要插入到方法中的参数。

例如:

代码语言:javascript
运行
复制
function Details(int id) {
   //id has the value of my_var_id
 }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8525528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档