Pergunta

eu estou apenas começando a usar asp.net MVC .. desde que eu não estou familiarizado com ele, eu só quero fazer uma pergunta sobre actionlink html helper ..

Eu tenho esse código no meu ponto de vista casa index.aspx ..

    <%  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%>

se eu clicar no actionlink, eu estava esperando que ele vai me render a este url: / Administração / NewsPublic / 7 mas sim que me dá este url: / Home / NewsPublic? Comprimento = 14

faz actionlink id passe na mesma controlador somente?

Agradecemos antecipadamente!

Foi útil?

Solução

Por padrão, Html.ActionLink usará o controlador de corrente. Mas há cerca de uma dúzia sobrecargas de ActionLink (), e há várias versões de que irá aceitar um parâmetro controlador. Tente:

Html.ActionLink("Read More...", 
                 "NewsPublic", 
                 "Administration",
                 New With { .id = id },
                 null)

Outras dicas

Para tornar link para / Administração / NewsPublic / 7 você deve usar

<%=Html.ActionLink("Read More..", "NewsPublic", "Administration", 
    New With {.id = 7}, Nothing)%>

Quinta parâmetro faz com que o compilador para escolher

ActionLink(string linkText, string actionName, string controllerName, 
    object routeValues, object htmlAttributes)

método de extensão sobrecarga em vez de

ActionLink(string linkText, string actionName, object routeValues, 
    object htmlAttributes)

E não se esqueça de parametrização

New With {.id = 7}

em vez de

New With {.id}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top