在ASP.NET MVC中生成链接?

时间:2009-06-05 16:28:36

标签: asp.net-mvc hyperlink

我在MapRoute表中有以下路由定义:

routes.MapRoute(
            "ViewDocument",
            "browse/document/{document_id}/{document_title}",
            new { controller = "Document", action = "ViewDocument"}
            );

我必须在文档索引视图上创建文档链接(文档对象具有“id”和“title”属性)

在ASP.NET MVC中生成链接的方法应该是什么?

我的路线定义有什么问题吗?

3 个答案:

答案 0 :(得分:6)

在您的路线中:

routes.MapRoute(
    "ViewDocument",
    "browse/document/{document_id}/{document_title}",
    new { controller = "Document", action = "Title", document_id = "", document_title = ""}
);

在您的视图中

<%= Url.RouteUrl("ViewDocument", new { document_id = ... , document_title = ... }) %>

(呈现普通网址)

<%= Html.RouteLink("ViewDocument", new { document_id = ... , document_title = ... }) %>

(用href attribure填充<a></a>元素填充url)

答案 1 :(得分:0)

您是否只能根据其ID找到合适的文档?

标题不是多余的吗?

答案 2 :(得分:0)

您可以使用以下内容生成指向路线的文档的链接:

<%= Html.ActionLink("Doc Link", "Title", "Document", new { document_id="id", document_title="title" }, null) %>

需要注意以下几点:

  • 您必须在默认路线之前添加自定义路线。
  • 您必须包含如上所示的路线值,以便在链接中指定它们。