0

我有一个表名信息。我想创建这个强类型表的部分视图。我在 View/Shared 中的部分视图是 _InfoView.cshtl,例如:

 @model IEnumerable<RealTest.Models.ifo>

  <h2>_InfoView</h2>

 <p>
 @Html.ActionLink("Create New", "Create")
 </p>
  <table>
      <tr>
         <th>
           name
       </th>
      <th>
         address
       </th>
       <th></th>
    </tr>

 @foreach (var item in Model) {
<tr>
    <td>
        @Html.DisplayFor(modelItem => item.name)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.address)
    </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>
 }

我的视图页面就像:@model IEnumerable

 @{
  ViewBag.Title = "Index";
}
 <p>
   @Html.ActionLink("Create New", "Create")
  </p>

   @Html.Partial("_InfoView")

现在我想从另一个强类型视图中调用它。当我调用它时,它似乎没有获得部分视图所需的数据。现在我应该如何传递部分视图数据???

4

2 回答 2

0
@{Html.RenderPartial("is _InfoView", model);}

您的模型需要是 ifo 对象的集合。

于 2012-08-02T14:28:15.310 回答
0

你可以这样称呼它

@Html.Partial("ProdItemColors",Model.PropertyName)

例如,如果您有一个具有这样类型的 Collection 属性的ViewModel被调用CustomerInfo

public class Customer
{
  public string CustomerName { set;get;}
  public IList<Info> InfoItems { set;get;}

  public Customer()
  {
      InfoItems=new List<Info>();
  }
}
public class Info()
{
  public string Name { set;get;}
}

现在,从与您的Customer班级绑定的主视图中,您可以这样称呼它

@model Customer
<p>@Model.CustomerName </p>
@Html.Partial("_InfoView",Model.InfoItems)

~/Views/Shared假设您在文件夹或文件夹中有一个名为 _InfoView.cshtml 的视图~/Views/YourcontrollerName

确保您的部分视图绑定到 Info 类

@model IEnumerable<Info>
<p>do something inside this</p>
于 2012-08-02T14:38:55.860 回答