Ошибка "элемент модели, переданный в словарь, имеет тип 'system.collections.generic.list"
Мой код контроллера
public class AboutUsController : Controller { public ActionResult Index() { CMSAboutus dbhandle = new CMSAboutus(); ModelState.Clear(); return View(dbhandle.GetAboutTitlepage().ToList()); }
My Class
public List<CMSAboutus> GetAboutTitlepage() { connection(); List<CMSAboutus> studentlist = new List<CMSAboutus>(); SqlCommand cmd = new SqlCommand("GetAboutpagetitle", con); cmd.CommandType = CommandType.StoredProcedure; // cmd.Parameters.AddWithValue("@ID", smodel.id); SqlDataAdapter sd = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); con.Open(); sd.Fill(dt); con.Close(); foreach (DataRow dr in dt.Rows) { studentlist.Add( new CMSAboutus { // Id = Convert.ToInt32(dr["Id"]), Section_Title = Convert.ToString(dr["Section_Title"]), Title_desc = Convert.ToString(dr["Title_desc"]), }); } return studentlist; }
индексированное представление
<pre>@using GlobalxVisa_Immigration.Areas.Admin.Models @model CMSAboutus @{ ViewBag.Title = "Index"; Layout = "~/Areas/Admin/Views/Shared/_LayoutRegister.cshtml"; } <div class="container"> <br /> <div class="row"> <div class="modal-content"> <div class="card-header bg-primary"><span style="color:white;">About Page Title</span></div> <div class="card-body"> <section> @using (Html.BeginForm("Index", "AboutUs", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-horizontal", role = "form" })) { @Html.AntiForgeryToken() <h5> class="fa fa-link"> </h5> <hr /> if (Model.GetAboutTitlepage() != null && Model.GetAboutTitlepage().Count > 0) {
Что я уже пробовал:
данные таблицы перейдете к странице cshtml по индексу
Gerry Schmitz
Вы определили свою модель как "класс", но передаете коллекцию. Кроме того, ToList() списка< gt; ничего не делает.
Nishant.Chauhan80
как определить мой код Пожалуйста скажите мне
возвратный вид(dbhandle.GetAboutTitlepage().ToList<>); //ошибка
Gerry Schmitz
Создайте класс, чтобы обернуть его вокруг коллекции, и ссылайтесь на него.
Nishant.Chauhan80
Как Сэр пожалуйста приведите мне какой нибудь пример
F-ES Sitecore
Ваше представление ожидает один элемент, но вы передаете ему список элементов. Мы не можем сказать вам, как это исправить, вам нужно решить, нужно ли ваше представление изменить, чтобы разместить список элементов, или если ваш контроллер должен измениться, чтобы передать только один элемент.