putting @Html.DisplayFor in @Html.ActionLink
Asked Answered
H

1

5

in asp.net mvc, I have a view with name index that show one html table as a grid. suppose this is this my html table:

<table>
<tr>
    <th>
        Caption
    </th>
    <th></th>
</tr>
@foreach (var item in Model) {
<tr>
    <td>
        @Html.DisplayFor(modelItem => item.Caption)
    </td>
    <td>
        @Html.ActionLink("Edit", "Edit", new { id=item.CityId }) |
        @Html.ActionLink("Details", "Details", new { id=item.CityId }) |
        @Html.ActionLink("Delete", "Delete", new { id=item.CityId }) |
    </td>
</tr>
}
</table>

now I want put @Html.DisplayFor(modelItem => item.Caption) in the text of @Html.ActionLink("Edit", "Edit", new { id=item.CityId })

but i give an error from mvc.

Harmonic answered 18/1, 2013 at 20:15 Comment(2)
Seeing what doesn't work will be more helpful than seeing what does work. Show us the code that you tried that's broken. It's likely just the inclusion of the @ symbol from your description, but hard to say.Fulmar
i want to use this @Html.ActionLink(@Html.DisplayFor(modelItem => item.Caption), "Edit", new { id=item.CityId }). error say cannot resolve method actionlink .........Harmonic
C
8

Just use the correct method overload, like this:

@Html.ActionLink(item.Caption, "Edit", "Edit", new { id=item.CityId }, null)
Corvese answered 18/1, 2013 at 20:29 Comment(1)
It's a pleasure to help! :)Corvese

© 2022 - 2024 — McMap. All rights reserved.