#c# #.net-core
#c# #.net-ядро
Вопрос:
Я хочу загрузить сетку mvc с данными из контроллера:
Код:
GridView dumasGrid
:
@model IEnumerable<BoneID.Dumas.Obroci>
@{
ViewBag.Title = "PopisObroka";
WebGrid grid = new WebGrid(Model, ajaxUpdateContainerId: "tblGrid");
}
<div>
@grid.GetHtml();
</div>
Страница просмотра, которая загружает страницу просмотра сетки: dumasGridPlaner
:
@using BoneID.Classes
@using BoneID.Net.Static
@model BoneID.Web.Models.ModelDefault
@{
var isIzoProd = Model.ParametriEx.Any(a => a.Type == CParametriEx.ParametriExType.IzoProd);
}
<div>
@Html.Partial("dumasGrid");
</div>
Главная страница, которая загружает страницу с сеткой: Dumas
<div id="tabs-1">
@Html.Partial("dumasGridPlaner",Model.Default)
</div>
Мой контроллер:
namespace BoneID.Web.Client.Controllers
{
public class DumasController : Controller
{
public ActionResult Index()
{
return View();
}
[ChildActionOnly]
public ActionResult PopisObroka()
{
Obroci obr = new Obroci();
var menu = obr.GetObroci();
return PartialView(menu);
}
}
}
Ошибка, которую я получаю на странице DumasGridPlaner
:
Система.Исключение InvalidOperationException: ‘Элемент модели, переданный в словарь, имеет тип ‘BoneID.Web.Models.ModelDefault’, но для этого словаря требуется элемент модели типа ‘System.Коллекции.Общий.IEnumerable`1[BoneID.Дюма.Obroci]’
В чем проблема? Что я называю неправильно?
Комментарии:
1. Я не думаю, что вы предоставили нам достаточно кода, чтобы указать причину ошибки, однако эта ошибка возникает, когда вы передаете объект неправильного типа в свое представление. Здесь ваше представление ожидается
IEnumerable<BoneID.Dumas.Obroci>
в качестве модели, но вы можете передавать что-то еще.2. Я согласен с @Priyank. Нам нужно больше информации, чтобы понять вашу структуру MVC и то, как вы отправляете свою модель в представление?
3. Dumas.cshtml — это моя главная страница общего просмотра, где я вызываю другие представления и Controller. Других страниц нет.
4. Вы передаете данные внутри частичного представления, а также непонятно, почему вы используете 2 частичных представления для передачи этих данных. Я думаю, вам нужно просто простое представление или viewcomponent для передачи ваших данных.
5. В вашем ‘dumasGridPlaner’ при вызове
@Html.Partial("dumasGrid")
вы не передаете никакой модели, тогда как ‘dumasGrid’ ожидаетIEnumerable<BoneID.Dumas.Obroci>