2012-03-26 15 views
0
Public class AbcViewModel 
{ 
    public string native{get; set;} 
    public string other{get; set;} 
    public List<AbcViewModel> abcList{get; set;} 
} 

私のビューはこのViewModelに強く型付けされているので、フィールドを表示する前にいくつかの条件をチェックする必要があります。リストの条件文

私のコントローラのアクションから、私は条件リストに

public ActionResult actionName() 
{ 
    AbcViewModel viewModel=new AbcViewModel(); 
    viewModel=model.getAbcList(); 
    return View(viewModel); 
} 

を渡しています:私のリストはnカウントが含まれているはず場合。次に、任意のインデックスの「ネイティブ要素」がある値を保持している場合は、他のフィールドを表示し、その逆もまた同様です。

つまりこれは、(IsNotEmptyが有効な方法ではありません)私が思う正しい構文ではありません。この

@if (Model.languageList.Any(x => x.nativeLanguage.IsNotEmpty() == false) 
{ 
    @LabelFor(x=>x.other) 
} 
else 
{ 
    @LabelFor(x=>x.native) 
} 

よう 何か。

これを行う正しい方法を教えてください。

答えて

1

指定した文字列がnullまたは空の文字列であるかどうかを確認するために、この

@if (Model.languageList.Any(x=> !string.IsNullOrEmpty(x.nativeLanguage))==false){ @LabelFor(x=>x.other) } 
    else{@LabelFor(x=>x.native)} 
+0

ありがとうございました。 – RollerCosta

1

使用String.IsNullOrEmpty Methodのようにそれを行うことができます。

この試してみてください。文字列の完全なリストである場合、あなたはこの

String.IsNullOrEmpty(****) 

のようなメソッドを呼び出すことができるはず

@if (Model.languageList.Any(x => string.IsNullOrEmpty(x.nativeLanguage)) 
{ 
    @LabelFor(x => x.other) 
} 
else 
{ 
    @LabelFor(x => x.native) 
} 
0

を他のデータ型もあれば、同じ仕事をするためのメソッドを書くことができます。

+0

IsNotEmptyは有効なメソッドですか? – RollerCosta

+0

Lol、コピー貼り付けエラー。私は私の答えを更新しました。 – tobias86

0

:これを試してみてください

@if (!Model.languageList.Any(x=> string.IsNullOrEmpty(x.nativeLanguage)) 
{ 
    @LabelFor(x=>x.other) 
} 
else 
{ 
    @LabelFor(x=>x.native) 
    }