У меня есть веб-приложение MVC3, в котором текущее представление использует тип модели
IList<Application.Models.dbTable>
Причина, по которой я использую IList <>, заключается в том, что сетка telerik на странице может понять вывод.
моя цель состоит в том, чтобы иметь частичную страницу справа, которая использует модель application.model.dbTable, которая является динамической, поэтому, когда вы выбираете элемент в сетке 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>
Контроллер:
используя Систему;
using 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);
}
}
}