首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当模型不返回任何数据时,如何在MVC4中显示视图中的消息?

当模型不返回任何数据时,如何在MVC4中显示视图中的消息?
EN

Stack Overflow用户
提问于 2016-09-30 07:34:57
回答 1查看 37关注 0票数 1

嗨,我正在开发应用程序,我有5个文本框和搜索按钮。当我将数据输入文本框并单击搜索时,相应的数据库匹配数据将显示在下表中。我已经实现了分页,它工作得很好。下面是密码。

代码语言:javascript
复制
 [HttpGet]
        public ActionResult Index(int? clientId, string dateofAction, int? doc_typeid, string employeeID,string citizenId,int? currentFilter, string filterdateTime,int? filterdocType,string filteredemployeeID,string filteredcitizenId,int? page)
        {
            ViewBag.curpageNumber = page;

            logDetailsEnumeration model = new logDetailsEnumeration();
            DB_KYC3Entities db = new DB_KYC3Entities();
            var docTypes = from c in db.tm_doc_type select c;
            if (clientId != null)
            {
                page = 1;
            }
            else
            {
                clientId = currentFilter;
            }
            if(dateofAction!=null)
            {
                page = 1;
            }
            else
            {
                dateofAction = filterdateTime;
            }
            if(doc_typeid != null)
            {
                page = 1;
            }
            else
            {
                doc_typeid = filterdocType;

            }
            if(employeeID!=null)
            {
                page = 1;
            }
            else
            {
                employeeID = filteredemployeeID;
            }
            if(citizenId!=null)
            {
                page = 1;
            }
            else
            {
                citizenId = filteredcitizenId;
            }

            ViewBag.CurrentFilter = clientId;
            ViewBag.filterdateTime = dateofAction;
            int pageSize = 8;
            int pageNumber = (page ?? 1);
            VerificationLogBAL obj = new VerificationLogBAL();
            int docType = obj.GetDocDetails(doc_typeid?? default(int));
            List<logDetails> logDetails = obj.getlogDetails(clientId?? default(int), dateofAction, docType, employeeID, citizenId);
            IPagedList<logDetails> pagedLog = logDetails.ToPagedList(pageNumber, pageSize);
            model = new logDetailsEnumeration()
            {
                pageNum= pageNumber,
                doc_typeid = doc_typeid,
                Count=logDetails.Count,
                employeeID = employeeID,
                citizenId= citizenId,
                logDetails = pagedLog,
                doctype_name=new SelectList(docTypes, "doc_typeid", "doctype_name")
            };
            return View("Index",model);
            }
        }

这是我的视图代码。

代码语言:javascript
复制
@using (Html.BeginForm("Index", "VerificationLog", FormMethod.Get))
    {
        @Html.AntiForgeryToken()
        @Html.ValidationSummary(true)
        <div class="message"></div>

        <div class="loginUsernamePassword">
            <i class="fa fa-user"></i>
            <table width="100%" border="0" cellspacing="0" cellpadding="0" class="dataTable tableHover">
                <tr>
                    <th width="8%" scope="col">Client ID</th>
                    <th width="20%" scope="col">
                        <div class="form-box form-box-default">
                            @Html.TextBoxFor(x=>x.clientId, ViewBag.CurrentFilter as string, new { @id = "clientId", @placeholder = "Client ID", @class = "form-control", @maxlength = 20 })

                        </div>
                    </th>
                   <th width="10%" scope="col">Date Of Action</th>
                    <th width="20%" scope="col">
                        <div class="form-box form-box-default">
                         @Html.TextBoxFor(x=>x.dateofAction, ViewBag.filterdateTime as string,  new { @id = "dateofAction", @placeholder = "Date Of Action", @class = "txtBox form-control calender validate[required]" })
                            @*@Html.TextBox("dateofAction", ViewBag.filterdateTime as string,  new { @id = "dateofAction", @placeholder = "Date Of Action", @class = "txtBox form-control calender validate[required]" })*@


                        </div>
                    </th>
                    <th width="15%" scope="col">Type Of Document</th>
                    <th width="17%" scope="col">
                        <div class="form-box form-box-default">
                            @*@Html.TextBox("typeofDocument", ViewBag.filterdateTime as string, new { @id = "typeofDocument", @placeholder = "Type Of Document", @class = "form-control", @maxlength = 20 })*@
                            @Html.DropDownListFor(x=>x.doc_typeid,Model.doctype_name,"Select",new { @class = "form-control" })

                                                </div>
                    </th>
                </tr>
                <tr>
                    <th width="15%" scope="col">Employee ID</th>
                    <th width="17%" scope="col">
                        <div class="form-box form-box-default">
                            @Html.TextBoxFor(x=>x.employeeID, Model.employeeID, new { @id = "employeeID", @placeholder = "Employee ID", @class = "form-control", @maxlength = 20 })

                        </div>
                    </th>
                    <th width="15%" scope="col">Citizen ID</th>
                    <th width="17%" scope="col">
                        <div class="form-box form-box-default">
                            @Html.TextBoxFor(x=>x.citizenId, Model.citizenId, new { @id = "citizenId", @placeholder = "Citizen ID", @class = "form-control", @maxlength = 20 })

                        </div>
                    </th>
                    <th width="10%" scope="col" colspan="2">
                        <input type="submit" value="Search" class="btn btn-primary btn-cons search" />
                </tr>
            </table>

            </div>
            }

        </div>

        @if (Model != null && Model.logDetails.Count != 0)
        {
            <br />
            <h2>Verification Log</h2>
            <br />
            <div id="GridDetails">
                <table width="100%" border="0" cellspacing="0" cellpadding="0" class="dataTable tableHover">
                    <tr>
                        @*<th>@Html.ActionLink("Label", "Index", new { sortOrder = ViewBag.LabelSortParm, currentFilter = ViewBag.CurrentFilter, filterdateTime = ViewBag.filterdateTime, filterdocType = Model.doc_typeid, filteredemployeeID = Model.employeeID, filteredcitizenId = Model.citizenId, Page = ViewBag.curpageNumber })</th>*@
                        <th>Label</th>
                        <th>Value</th>
                        <th>UpdatedOn</th>
                        <th>UpdatedBy</th>
                        <th>UpdatedStatus</th>
                        <th>RejectComment</th>
                    </tr>
                    @foreach (var group in Model.logDetails)
                    {
                        <tr>
                            <td>@group.contentLabel</td>
                            <td>@group.contentValue</td>
                            <td>@group.updatedOn</td>
                            <td>@group.updatedBy</td>
                            <td>@group.updatedStatus</td>
                            <td>@group.rejectComment</td>
                        </tr>

                    }
                </table>

                @Html.PagedListPager(Model.logDetails, page => Url.Action("Index",
new { page, currentFilter = ViewBag.CurrentFilter, filterdateTime=ViewBag.filterdateTime, filterdocType= Model.doc_typeid, filteredemployeeID = Model.employeeID, filteredcitizenId = Model.citizenId }))
                Page @(Model.logDetails.PageCount < Model.logDetails.PageNumber ? 0 : Model.logDetails.PageNumber) of @Model.logDetails.PageCount
            </div>

我在显示消息时有问题,没有找到任何记录。如果我试图通过检查下面的属性if(Model!=null)来放置没有找到的记录,那么当第一次页面加载时,它也会显示没有找到的记录。我只想显示后,点击提交按钮,如果没有找到匹配的记录。在上述情况下,我有任何方法可以实现解决方案吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-30 07:38:31

您可以向模型中添加一个新属性,该属性仅在搜索完成后才会设置。这将指示是否找到记录,并且可以在视图中使用逻辑来显示适当的消息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39786098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档