如何在一个视图中添加多个模型

时间:2018-03-19 09:05:38

标签: javascript asp.net

我想在我的索引视图中添加我的类模型,因为我需要ClassID for dropdown来在我的视图中显示类但不知道如何。

这是我的索引:

@using opr.Models;
@using PagedList;
@using PagedList.Mvc;
@model PagedList.IPagedList<opr.Data.C_QuestionTable>
@{
  ViewBag.Title = "Index";
}

<h2>Index</h2>
<div class="alert-success form-control m-auto w-75 custom-form">
  <div class="col-6 pb-3 input-control">
    <label for="ex3"> Select Class:</label>
    @Html.DropDownListFor(model => model.ClassID, (SelectList)ViewBag.dataForDropDowns, new { @class = "form-control select2ddl" })
  </div>
  <p>
    @Html.ActionLink("Create New", "Create")
  </p>
  <table class="table">
    <tr>
      <th>
        QuestionText
      </th>
    </tr>
    @foreach (var item in Model)
    {
      foreach (var answer in item.C_AnswerTable)
      {
        <tr>
          <td>
            @Html.DisplayFor(modelItem => item.QuestionText)
            @Html.RadioButton("searchBy", answer.Options, true)
            <text>@answer.Options</text>
          </td>
        </tr>
      }
    }
    <tr>
      <div class="pagination pull-left">
        <hr />
        <td colspan="3">@Html.PagedListPager(Model, page => Url.Action("Index", new { page = page }))</td>
      </div>
    </tr>
  </table>
</div>

这是我的控制器:

examsEntities db = new examsEntities();
public ActionResult Index(int?page)
{
  var mod1 = db.myclasses.Select(s => new { s.ID, s.C_name }).ToList();
  SelectList sList = new SelectList(mod1, "ID", "C_name");
  ViewBag.dataForDropDown = sList;

  var pageNumber = page ?? 1;
  var pageSize = 3;
  var question = db.C_QuestionTable.OrderBy(x => x.QuestionText).ToPagedList(pageNumber, pageSize);   
  return View(question);
}

1 个答案:

答案 0 :(得分:0)

namespace OMS.Models
{
public class AbcModel
{

    public int Id { get; set; }

    public string Name{ get; set; }


    public Classmodel classmodel{ get; set; }


  }  
}

将类模型绑定到索引模型(Abc模型),现在在视图中

@using opr.Models;
@using PagedList;
@using PagedList.Mvc;
@model PagedList.IPagedList<opr.Data.C_QuestionTable>
@{
ViewBag.Title = "Index";
}

<h2>Index</h2>
 <div class="alert-success form-control m-auto w-75 custom-form">
 <div class="col-6 pb-3 input-control">
 <label for="ex3"> Select Class:</label>
 @Html.DropDownListFor(model => model.classmodel.ClassID, 
  (SelectList)ViewBag.dataForDropDowns, new { @class = "form-control 
  select2ddl" })
  </div>
   <p>
    @Html.ActionLink("Create New", "Create")
  </p>
  <table class="table">
   <tr>
    <th>
     QuestionText
   </th>
    </tr>
    @foreach (var item in Model)
    {
    foreach (var answer in item.C_AnswerTable)
     {
       <tr>
        <td>
        @Html.DisplayFor(modelItem => item.QuestionText)
        @Html.RadioButton("searchBy", answer.Options, true)
        <text>@answer.Options</text>
        </td>
       </tr>
       }
    }
<tr>
  <div class="pagination pull-left">
    <hr />
    <td colspan="3">@Html.PagedListPager(Model, page => Url.Action("Index", new { page = page }))</td>
  </div>
</tr>
 </table>
</div>

希望它能帮到你