如何解决如果其他条件不符合预期
如果其他条件在视图页面中不起作用
在我的视图页面中有两个表数据
- tbl_career
- tbl_vacancy
当前tbl_career为空,所以我要显示当前无可用内容 目前tbl_vacancy有2条记录
输出:
HomeController.cs
public ActionResult Index(tbl_carrer _Carrer)
{
var model = new CarrerViewModal
{
tbl_Carrers = _dbfltEntities.tbl_carrer.ToList(),tbl_Qetintouches = _dbfltEntities.tbl_qetintouch.ToList(),};
//if (_Carrer == null)
//{
// ViewBag.message = "No Content Available";
//}
return View(model);
}
ViewModal
namespace flatAd.Models
{
public class CarrerViewModal
{
public List<tbl_carrer> tbl_Carrers { get; set; }
public List<tbl_qetintouch> tbl_Qetintouches { get; set; }
}
}
Index.cshtml
@model flatAd.Models.CarrerViewModal
@{
ViewBag.Title = "Index";
}
<h2>Show Career Data</h2>
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>UserCarrerID</th>
<th>UserEmailID</th>
<th>UserContactNo</th>
<th>UserResume</th>
</tr>
</thead>
<tbody>
@foreach (var itemcarrer in Model.tbl_Carrers)
{
if (Model != null)
{
<tr>
<td>@itemcarrer.usercarrerid</td>
<td>
@itemcarrer.useremailid
</td>
<td>
@itemcarrer.usercontactno
</td>
<td>
itemcarrer.userresume
</td>
</tr>
}
else
{
<tr>
<td><label>Content Not Available</label></td>
</tr>
}
}
</tbody>
</table>
<h2>Show GetInTouch Data</h2>
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th>Name</th>
<th>EmailId</th>
<th>PhoneNo</th>
<th>Description</th>
</tr>
</thead>
@foreach (var itemgetintouch in Model.tbl_Qetintouches)
{
<tr>
<td>@itemgetintouch.name</td>
<td>
@itemgetintouch.emailid
</td>
<td>
@itemgetintouch.phonenumber
</td>
<td>
@itemgetintouch.description
</td>
</tr>
}
</table>
我在尝试什么
- 列表是提供计数变量,但也不起作用
@foreach (var itemcarrer in Model.tbl_Carrers)
{
if (Model.tbl_Carrers.Count == 0)
{
<tr>
<td><label>Content Not Available</label></td>
</tr>
}
else
{
<tr>
<td>@itemcarrer.usercarrerid</td>
<td>
@itemcarrer.useremailid
</td>
<td>
@itemcarrer.usercontactno
</td>
<td>
@itemcarrer.userresume
</td>
</tr>
}
}
我也在下面尝试,但没有用
@*@if (Model == null)
{
<tr>
<td><label>Content Not Available</label></td>
</tr>
}*@
@*else
{
foreach (var itemcarrer in Model.tbl_Carrers)
{
<tr>
<td>@itemcarrer.usercarrerid</td>
<td>
@itemcarrer.useremailid
</td>
<td>
@itemcarrer.usercontactno
</td>
<td>
@itemcarrer.userresume
</td>
</tr>
}
}*@
以下情况也不起作用:
@foreach (var itemcarrer in Model.tbl_Carrers)
{
if (Model.tbl_Carrers != null)
{
<tr>
<td>@itemcarrer.usercarrerid</td></tr>
}
else
{
<tr>
<td><label>Content Not Available</label></td>
</tr>
}
如果还有其他条件有什么问题吗?
解决方法
if (Model.tbl_Carrers.Count == 0)
{
<tr>
<td><label>Content Not Available</label></td>
</tr>
}
else
{
//iterating through data using the foreach loop
}
有效。如果没有数据,则If
循环内的所有 代码都不会执行。如果foreach
为空,则此循环中的if
将永远不会运行。
tbl_Carrers
检查和循环应该相反:
@foreach (var itemcarrer in Model.tbl_Carrers)
{
if (Model.tbl_Carrers.Count == 0)
{
}
...
请注意if (Model.tbl_Carrers.Count == 0)
{
<tr>
<td colspan="4"><label>Content Not Available</label></td>
</tr>
}
else
{
foreach(.....)
{
}
}
属性。没有它,标签将仅出现在第一列中
根据您所说的内容,您需要找到一种检查tbl_Carrers
的方法,但是在您的代码中似乎已经检查了Model
本身,请不要忘记{{1} }是Model
。话虽如此,由于您已经检查了CarrerViewModal
本身,因此以下行不起作用:
Model
在下面的行中,您检查了@foreach (var itemcarrer in Model.tbl_Carrers)
{
if (Model != null)
,但是因为tbl_Carrers
中没有足够的数据,所以foreach代码根本没有运行,因此tbl_Carrers
的条件是不再执行:
if
所以您需要这样的东西:
@foreach (var itemcarrer in Model.tbl_Carrers)
{
if (Model.tbl_Carrers.Count == 0)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。