【问题标题】:Only one 'model' statement is allowed in a file (Pagination)文件中只允许使用一个“模型”语句(分页)
【发布时间】:2017-01-27 14:40:28
【问题描述】:

所以我的索引视图呈现名为 StudentWellnessReviews 的视图,从 dbo.Review 表中检索评论。一切正常,直到我尝试在 ReviewController 中为 StudentWellnessReviews 视图设置分页。错误是: 一个文件中只允许有一个“模型”语句。

评论控制器

public class ReviewsController : Controller
{
    private SizaData_1Entities db = new SizaData_1Entities();

// GET: Reviews
public ActionResult Index()
{
    return View();
}

//Student Wellness Reviews 
public ActionResult StudentWellnessReviews(int page = 1, int pageSize = 4)
{
    using (var context = new SizaData_1Entities())
    {

        List<Review> listReviews = context.Reviews.SqlQuery("select * from dbo.Review where WellnessService='Student Wellness Service'").ToList();
        PagedList<Review> userreview = new PagedList<Review>(listReviews, page, pageSize);
        return View(userreview);
    }
}

StudentWellnessReviews 视图:

    @model IEnumerable<Siza.Models.Review>

@{
    ViewBag.Title = "Index";
    Layout = "";
}

@model PagedList.IPagedList<Siza.Models.Review>
@using PagedList.Mvc;


            <table class="table text-center width:50%">
                @foreach (var item in Model)
                {
                    <tr>
                        <td>
                            <h5>Username</h5>
                        </td>
                        <td>
                            <p>
                                <div align="left">@Html.DisplayFor(modelItem => item.Username)</div>
                            </p>
                        </td>
                    </tr>

                    <tr>
                        <td>
                            <h5>Wellness Service</h5>
                        </td>
                        <td>
                            <p>
                                <div align="left">@Html.DisplayFor(modelItem => item.WellnessService)</div>
                            </p>
                        </td>
                    </tr>

                    <tr>
                        <td>
                            <h5>Rating</h5>
                        </td>
                        <td>
                            <p>
                                <div align="left">@Html.DisplayFor(modelItem => item.Rating)</div>
                            </p>
                        </td>
                    </tr>

                    <tr>
                        <td>
                            <h5>Feedback</h5>
                        </td>
                        <td>
                            <p>
                                <div align="left"> @Html.TextAreaFor(modelItem => item.Feedback, new {@readonly = true})</div>
                            </p>
                        </td>
                    </tr>

                    <tr>
                        <td>
                            <h5>Date Created</h5>
                        </td>
                        <td>
                            <p>
                                <div align="left"> @Html.DisplayFor(modelItem => item.Date)</div>
                            </p>
                        </td>
                    </tr>
                    <tr><td colspan="2"><hr class="active"/></td></tr>

                }

                @Html.PagedListPager(Model, Page => Url.Action("StudentWellnessReviews", 
               new { Page, pageSize = Model.PageSize} ))
                Showing @Model.FirstItemOnPage to @Model.LastItemOnPage of @Model.TotalItemCount Reviews

            </table>

部分索引视图

    @using Siza.Controllers


@{
    ViewBag.Title = "Index";
}

@{Html.RenderAction("StudentWellnessReviews", "Reviews");}

我们将不胜感激。

【问题讨论】:

    标签: c# asp.net-mvc visual-studio razor


    【解决方案1】:

    问题是你不能多次为你的视图定义模型,现在你说你的视图是强类型的 IEnumerable&lt;Siza.Models.Review&gt;PagedList.IPagedList&lt;Siza.Models.Review&gt; 这是不可能的,所以我看到的是你只需要 @ 987654323@ 所以删除将模型设置为IEnumerable&lt;Siza.Models.Review&gt; 的第一行,如下所示:

    @model PagedList.IPagedList<Siza.Models.Review>
    @using PagedList.Mvc;
    @{
        ViewBag.Title = "Index";
        Layout = "";
    }
    .................
    Your rest view
    

    【讨论】:

    • 对我不起作用它拒绝删除 @modelIEnumerable
    猜你喜欢
    • 2014-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 1970-01-01
    • 2021-04-10
    相关资源
    最近更新 更多