如何解决如何检查MVC 3视图的模型是否包含一些数据?
| 我的看法是使用WebGrid显示网格。 如果模型中包含一些数据,则效果很好,但如果模型中没有数据,则WebGrid将给出和异常。 我试图检查是否为“ 0”,但这只是让我的代码在IF中执行。还尝试进行检查以查看if (Model.Count() > 2)
,这给了我一条消息,提示\"The specified resource does not exist.\"
。
使用这两个条件中的任何一个,将执行IF内部的代码。有没有一种简单的方法可以检查传递的信息以查看模型是否有任何行?
@model IEnumerable<Selftestware.Storage.Models.TestFormat>
@section content {
<div id=\"content\">
@if ( Model != null) {
var grid = new WebGrid(
source: Model,defaultSort: \"Name\",canPage: true,canSort: true,rowsPerPage: 20);
解决方法
您可以发送“列表操作”权限列表示例:
public ActionResult List()
{
//hear check if is null
return View(new List<yourModel>());
}
, public static class YourWelcome{
public static bool IsNullOrHasNullProperties(this object model){
if(model == null) {
return true;
}
return model.GetType()
.GetProperties(BindingFlags.Public|BindingFlags.Instance)
.Where(propertyInfo => !propertyInfo.PropertyType.IsValueType)
.Any(propertyInfo => propertyInfo.GetValue(model,null) == null);
}
public static bool IsNullOrEmpty<T>(this IEnumerable<T> enumerable){
return enumerable == null || !enumerable.Any();
}
}
,当模型没有任何数据时,这就是我用Webgrid处理scenaro的方式。
if (Model.Results.Count() > 0)
{
<div id=\"grid\">
@grid.GetHtml()
</div>
}
else
{
<p>No Results Found.</p>
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。