微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果其他条件不符合预期

如何解决如果其他条件不符合预期

如果其他条件在视图页面中不起作用

在我的视图页面中有两个表数据

  • tbl_career
  • tbl_vacancy

当前tbl_career为空,所以我要显示当前无可用内容 目前tbl_vacancy有2条记录

输出

enter image description here

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 举报,一经查实,本站将立刻删除。