如何处理'价值不能为空或空?什么时候使用@ Html.ActionLink?

时间:2015-01-11 18:02:12

标签: asp.net-mvc-4 model-view-controller

这是我第一次尝试使用MVC应用程序。

我正在显示一个数据网格,某些字段可以为空。每列都有一个actionlink,允许用户过滤该数据的页面。不幸的是,我无法弄清楚如何处理'价值不能为空或空。参数名称:linkText'当我有一个空字段时发生错误。

对于动作链接,DisplayFormat似乎被忽略了吗?

[DisplayFormat(DataFormatString = "'{0}'", NullDisplayText = "'Unknown Initials'")]

public string initials { get; set; }

@foreach (var item in Model)
 {
    <tr>
<td>
   @Html.ActionLink(item.Name.initials, "Index", new { i = item.Name.initials })
</td>

2 个答案:

答案 0 :(得分:3)

        [DisplayFormat(DataFormatString = "'{0}'", NullDisplayText = "'Unknown Initials'")]

        public string initials { get; set; }

        @foreach (var item in Model)
         {
            <tr>

    if(String.IsNullOrEmpty(item.Name.initials)
    {
    <td>
           @Html.ActionLink("Unknown Initials", "Index", new { i = "Unknown Initials" })
        </td>
    }
    else
    {
    <td>
           @Html.ActionLink(item.Name.initials, "Index", new { i = item.Name.initials })
        </td>
    }
</tr>
}

答案 1 :(得分:1)

看起来initials属性为null或为空,这是不允许的。在这种情况下,您可以使用锚文本的默认值:

@Html.ActionLink(item.Name.initials ?? "->", "Index", new { i = item.Name.initials })