Public class AbcViewModel
{
public string native{get; set;}
public string other{get; set;}
public List<AbcViewModel> abcList{get; set;}
}
既然我的View强烈输入了这个ViewModel,我需要在显示字段之前检查一些条件。
从我的Controller Action我传递列表
public ActionResult actionName()
{
AbcViewModel viewModel=new AbcViewModel();
viewModel=model.getAbcList();
return View(viewModel);
}
条件:如果我的列表中包含n
计数。然后,如果任何索引的任何“本机元素”保持某个值,则显示其他字段,反之亦然。
即。 像这样的东西
@if (Model.languageList.Any(x => x.nativeLanguage.IsNotEmpty() == false)
{
@LabelFor(x=>x.other)
}
else
{
@LabelFor(x=>x.native)
}
这不是我认为的正确语法(IsNotEmpty不是有效的方法)。
告诉我正确的方法。
答案 0 :(得分:1)
你可以这样做
@if (Model.languageList.Any(x=> !string.IsNullOrEmpty(x.nativeLanguage))==false){ @LabelFor(x=>x.other) }
else{@LabelFor(x=>x.native)}
答案 1 :(得分:1)
使用String.IsNullOrEmpty Method检查指定的字符串是空还是空字符串。
试试这个:
@if (!Model.languageList.Any(x=> string.IsNullOrEmpty(x.nativeLanguage))
{
@LabelFor(x=>x.other)
}
else
{
@LabelFor(x=>x.native)
}
答案 2 :(得分:0)
试试这个:
@if (Model.languageList.Any(x => string.IsNullOrEmpty(x.nativeLanguage))
{
@LabelFor(x => x.other)
}
else
{
@LabelFor(x => x.native)
}
答案 3 :(得分:0)
如果您的列表中包含字符串,那么您应该可以调用这样的方法
String.IsNullOrEmpty(****)
如果您还有其他数据类型,您仍然可以自己编写一个方法来执行相同的工作。