2015-01-11 32 views
1

這是我第一次嘗試一個MVC應用程序。如何在使用@ Html.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> 

回答

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> 
} 
+0

該訣竅。 有關記錄,上面的示例只是在if if }之前缺少第一個「@」 –

1

它看起來像initials屬性爲null或空,這是不允許的。你可以在這種情況下使用默認值的錨文本:

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