asp.net-mvc - 如果数据库中没有数据,那么如何在 asp.net 核心中显示“nodata”消息
问题描述
如果数据库中没有任何记录,如何在列表视图页面中显示没有任何数据消息。
这是我在这个控制器中注入的 ICouponRepository 接口。
IEnumerable<ManuItem> GetAllManuItem();
这是我要继承 ICouponRepository 的 SQLManuItemRepository
public IEnumerable<ManuItem> GetAllManuItem()
{
try
{
return context.ManuItems.Include(mi => mi.Category)
.Include(mi => mi.SubCategory)
.Where(mi => mi.IsDelete == false);
}
catch (Exception ex)
{
var exception = ex.Message;
return null;
}
}
这是我的控制器方法
public IActionResult Index()
{
try
{
var model = manuItemRepository.GetAllManuItem();
if (model == null)
{
ViewBag.NoData = "No have any Data";
return View();
}
return View(model);
}
catch (Exception ex)
{
ViewBag.Error = "Somthing was Worng" + ex.Message;
}
return View();
}
这种方法有什么变化或视图有什么变化吗?
解决方案
您可以直接判断返回的模型是否有视图上的数据。您可以参考下面的修改后的代码。
控制器
public IActionResult Index()
{
var model = new List<ManuItem>();
try
{
model = manuItemRepository.GetAllManuItem();
}
catch (Exception ex)
{
ViewBag.Error = "Somthing was Worng" + ex.Message;
}
return View(model);
}
看法
@if (Model.Count() == 0)
{
<p>No have any Data</p>
}
else
{
<p>Have Data</p>
}
推荐阅读
- javascript - RewriteEngine (.htaccess) 是否有可能看似不删除标题?
- python-3.x - 断点会话期间的沙盒代码评估
- c# - 命令绑定不适用于第二个窗口/视图
- c - 为什么变量的值不会被函数改变?
- python-3.x - 如何修复 Superset 创建管理员帐户错误
- html - 如何使横幅图像缩小以显示更多图像?
- python - 如何使用 boto3 的 revoke_ingress 方法从入站规则中删除特定安全组
- java - Akka 流:使用 OverflowStrategy.fail() 模拟失败的流
- c# - 如何将上标字符转换为 C# 字符串中的普通文本
- excel - VBA 中是否有一个属性来检测当前月份并在字符串中使用它?