从表中设置actionlink文本

时间:2012-12-03 15:43:41

标签: model-view-controller actionlink renderaction

我正在研究MVC 3.0应用程序。我有一个来自我的数据库的人员列表,每个人都与数据库中名为area的另一个表有关系。

人DTO

 public class Person
{
    int PersonId {get; set;}
    string Name { get; set;}
    int AreaId {get;set;}
}

现在在我的MVC视图中,我想使用actionlinks创建到区域视图的链接,我希望linktext是区域名称,而不是区域Id。我的标记看起来像这样:

@foreach (var item in Model)
    {
        <tr>            
            <td>@Html.ActionLink(item.Name, "Edit", new { item.PersonId })</td>
            <td>@Html.ActionLink(item.AreaId.ToString(), "ListArea", "Area", new { item.AreaId}, null)</td>
            <td>@using (Html.BeginForm("Delete", "Person"))
                { 
                @Html.Hidden("PersonId", item.PersonId)
                <input type="submit" value="Delete" />
                }
            </td>
        </tr>
    }

这是第二个ActionLink,我想将 item.AreaId.ToString()更改为区域名称。我在想添加一个:

Html.RenderAction("AreaName", "Area", new {item.AreaId})

在动作方法中,我将从数据库中检索区域名称。

我做错了什么?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果我的理解是正确的,为什么不将操作链接文本更改为获取区域名称,如下所示:

@Html.ActionLink(item.AreaINameToString(), "ListArea", "Area", new { item.AreaName}, null)</td>

此致 Pavan.G