2015-09-11 74 views
0

我在剃刀MVC視圖得到這一行:MVC剃刀線切割預防和空

< div class="fileContainer @(Model.FileGroup.Files.Count > 5 ? " scroll" : "")" 
每次我保存它減少和消除了

< div class="fileContainer @(Model.FileGroup.Files.Count > 5 ? " scroll" 
"")"> 

我怎樣才能解決這個不

在頂端進行變量{}

我的第二個問題是如何在視圖中修復嵌套的空值,可以說我得到了Model.FileGroup.FilesModel.FileGroup爲空,我正在閱讀Model.FileGroup。文件一切都崩潰。

我知道一個模型不應該爲null,但我可以以某種方式忽略這種情況嗎?

回答

1

嘗試使用'單引號'來包裝整個class屬性;否則你會將解析器與嵌套引號混淆。我仍然希望通過使用變量來簡化這個標記,但是您沒有要求提供解決方案。

通常情況下,你不應該在同一個StackOverflow文章中提出兩個不相關的問題,但是因爲我在這裏;讓我們回答null問題。有兩種解決方案,您可以使用這些解決方案的組合。

  1. 如果你有一個正當的理由爲它是無效和/或你不能改變這一點,你可以使用@if塊,所以像:
@if (Model.FileGroup != null) { 
     //do stuff with this property 
} else { 
    //output a "no files" message? 
} 
  • 通常最好確保null不會發生。通常這是Model/ViewModel構造函數的工作。
  • public class SomeClass { 
        public SomeClass() { 
         //prevent nulls 
         FileGroup = new FileGroup(); 
         AwesomeList = Enumerable.Empty<string>(); 
        } 
    
        public FileGroup FileGroup { get; set;} 
        public IEnumerable<string> AwesomeList { get; private set; } 
    }