2015-04-16 2 views
1

Извините, если мой вопрос новичок. Я новичок в MVC 4.Частичный вид не работает?

Я хочу показать список вопросов, которые имеют список данных (с помощью Edit, Details, Delete) внутри другого представления. Является ли это возможным?

_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") 

Что-нибудь, что я пропустил?

+0

Я не думаю, что вы сможете определить 2 модели. – Mark

+0

Точно, это разрешает только 1 модель в каждом представлении. Любой альтернативный способ? –

ответ

0

решена с помощью HTML. Действие вместо частичного & изменения в SurveyController:

public ActionResult _QuestionList() 
     { 

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

Edit.cshtml Co de:

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

Спасибо за вашу помощь!

0

Это выглядит почти сразу, но вы должны передать модель в частичном виде, так

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

Предполагая, что ваш Example.Models.SurveyModel имеет свойство SurveyQuestions которое является IEnumerable<Example.Models.SurveyQuestionModel>

+0

Спасибо за ваш ответ. Могу ли я узнать, как добавить свойство? Ценить это. –

+0

@ Edward.K, 'public IEnumerable SurveyQuestions {get; set;}', тогда вам нужно заполнить «SurveyQuestions», когда вы заполняете остальные свойства. –

Смежные вопросы