部分视图不起作用?

时间:2015-04-16 15:30:30

标签: .net asp.net-mvc-4

很抱歉,如果我的问题是新手。我对MVC 4很陌生。

我想在另一个视图中显示包含数据列表(包含编辑,详细信息,删除)的问题列表视图。有可能吗?

_QuestionList.cshtml代码:

    @model IEnumerable<Example.Models.SurveyQuestionModel>

    <p>@Html.ActionLink("Create New", "Create")</p>

    <table>
        <tr>
            <th>@Html.DisplayNameFor(model => model.Question)</th>
            <th>@Html.DisplayNameFor(model => model.Type)</th>
            <th>@Html.DisplayNameFor(model => model.Answer)</th>
            <th>&nbsp;</th>
        </tr>

    @foreach (var item in Model)
    {

        <tr>
            <td>@Html.DisplayFor(modelItem => item.Question)</td>
            <td>@Html.DisplayFor(modelItem => item.Type)</td>
            <td>@Html.DisplayFor(modelItem => item.Answer)</td>
            <td>
                @Html.ActionLink("Edit", "Edit", new { id = item.Id }) |
                @Html.ActionLink("Details", "Details", new { id = item.Id }) |
                @Html.ActionLink("Delete", "Delete", new { id = item.Id })
            </td>
        </tr>
</table>

Edit.cshtml代码:

@model Example.Models.SurveyModel

@Html.Partial("_QuestionList")

我错过了什么?

2 个答案:

答案 0 :(得分:0)

看起来几乎是正确的,但您需要将模型传递给局部视图,所以

@Html.Partial("_QuestionList", Model.SurveyQuestions)

假设您的Example.Models.SurveyModel属性SurveyQuestions属于IEnumerable<Example.Models.SurveyQuestionModel>

答案 1 :(得分:0)

使用HTML.Action而不是Partial&amp;在SurveyController修改:

 public ActionResult _QuestionList()
        {

            return PartialView(db.SurveyQuestionModels.ToList());
        }

Edit.cshtml代码:

 @Html.Action("_QuestionList", "Survey")

感谢您的帮助!