首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >html.actionlink

html.actionlink
EN

Stack Overflow用户
提问于 2009-09-14 04:00:20
回答 2查看 3.8K关注 0票数 1

我刚刚开始使用asp.net mvc。因为我对它不熟悉,所以我只想问一个关于actionlink html helper的问题。

我的index.aspx主页视图中有这段代码。

代码语言:javascript
复制
    <%  Dim _news As datatable = ViewData.Model%>
    <%  For count As Integer = 0 To _news.Rows.Count - 1%>
    <%  Dim id As Integer = _news.Rows(count).Item("IDnews")%>
    <%=_news.Rows(count).Item("newsTitle")%>
    <p>
    <%=_news.Rows(count).Item("newsContent")%><br />
    <%=Html.ActionLink("Read More..", "NewsPublic", "Administration", New With {id})%>
    </p>
    <%Next%>

如果我点击actionlink,我期望它会显示这个url: /Administration/NewsPublic/7,但它给我的是这个url : /Home/NewsPublic?Length=14

actionlink是否只在同一个控制器中传递id?

提前谢谢你!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-09-14 04:11:02

默认情况下,Html.ActionLink将使用当前控制器。但是ActionLink()有十几个重载,并且有多个版本可以接受控制器参数。尝试:

代码语言:javascript
复制
Html.ActionLink("Read More...", 
                 "NewsPublic", 
                 "Administration",
                 New With { .id = id },
                 null)
票数 1
EN

Stack Overflow用户

发布于 2009-09-14 05:08:00

要呈现到/Administration/NewsPublic/7的链接,您应该使用

代码语言:javascript
复制
<%=Html.ActionLink("Read More..", "NewsPublic", "Administration", 
    New With {.id = 7}, Nothing)%>

第五个参数使编译器选择

代码语言:javascript
复制
ActionLink(string linkText, string actionName, string controllerName, 
    object routeValues, object htmlAttributes)

扩展方法重载而不是

代码语言:javascript
复制
ActionLink(string linkText, string actionName, object routeValues, 
    object htmlAttributes)

别忘了添加参数赋值

代码语言:javascript
复制
New With {.id = 7}

而不是

代码语言:javascript
复制
New With {.id}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1419618

复制
相关文章

相似问题

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