我有一个MVC3网络应用程序,我当前的视图使用的是模型类型
IList<Application.Models.dbTable>
我使用IList&lt;&gt;的原因是这样页面上的telerik网格可以理解输出。 我的目标是在右侧有一个部分页面,它使用application.model.dbTable模型,它是动态的,因此当您在telerik网格上选择一个项目时,它会根据所选项目的索引更改部分页面的内容在telerik网格上。 目前我得到一个错误,说部分视图需要application.model.dbTable类型的模型。它似乎是从部分嵌套的视图继承模型。另外,如何将默认值传递给此部分视图,因为它需要索引值来显示数据? 任何帮助都会很棒,当我进行研究时,我找不到任何特定于这种情况的东西。 代码如下:
Index.cshtml:
@model IList<application.Models.dbTable>
@{
ViewBag.Title = "Index";
}
@(Html.Telerik().Grid(Model)
.Name("emailList")
.Pageable()
.Sortable()
)
@Html.Partial("DetailedLinkInfo");
DetailedLinkInfo.cshtml: @model application.Models.dbTable
<fieldset>
<legend>email</legend>
<div class="display-label">sender</div>
<div class="display-field">
@Html.DisplayFor(model => model.sender)
</div>
<div class="display-label">subject</div>
<div class="display-field">
@Html.DisplayFor(model => model.subject)
</div>
<div class="display-label">priority</div>
<div class="display-field">
@Html.DisplayFor(model => model.priority)
</div>
</fieldset>
<p>
@Html.ActionLink("Edit", "Edit", new { id=Model.ID }) |
@Html.ActionLink("Back to List", "Index")
</p>
控制器: 使用系统; 使用System.Collections.Generic; 使用System.Linq; 使用System.Web; 使用System.Web.Mvc; 使用Application.Models;
namespace Application.Controllers
{
public class applicationController : Controller
{
//
// GET: /email/
dbRepository er = new dbRepository();
public ActionResult Index()
{
var model = er.findAll();
return View(model);
}
[HttpGet]
public ActionResult DetailedLinkInfo(int id)
{
if (id==null)
{
id = 1;
}
var details = er.findOne(id);
return PartialView(details);
}
}
}