C#列表上的条件声明
Public class AbcViewModel
{
public string native{get; set;}
public string other{get; set;}
public List<AbcViewModel> abcList{get; set;}
}
既然我的视图是强类型的这个ViewModel,我需要检查一些条件之前显示字段。C#列表上的条件声明
从我的控制器操作,我通过列表
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不是一个有效的方法)。
告诉我这样做的正确方法。
你可以像下面这样做
@if (Model.languageList.Any(x=> !string.IsNullOrEmpty(x.nativeLanguage))==false){ @LabelFor(x=>x.other) }
else{@LabelFor(x=>x.native)}
使用String.IsNullOrEmpty Method检查指定的字符串是否为空或空字符串。
试试这个:
@if (!Model.languageList.Any(x=> string.IsNullOrEmpty(x.nativeLanguage))
{
@LabelFor(x=>x.other)
}
else
{
@LabelFor(x=>x.native)
}
试试这个:
@if (Model.languageList.Any(x => string.IsNullOrEmpty(x.nativeLanguage))
{
@LabelFor(x => x.other)
}
else
{
@LabelFor(x => x.native)
}
IsNotEmpty是有效的方法?? – RollerCosta 2012-03-26 10:38:14
哈哈,复制粘贴错误。我已经更新了我的答案。 – tobias86 2012-03-26 10:39:38
如果是你的名单满弦的,那么你应该能够调用这样
String.IsNullOrEmpty(****)
的方法如果你还有其他的数据类型,你仍然可以自己写一个方法来完成同样的工作。
感谢KIM它的工作 – RollerCosta 2012-03-26 10:48:26