Member 10194266 Ответов: 1

Я хочу создать динамический макет I MVC поэтому мне нужно некоторое руководство


---------это мой класс моделей меню-------

меню открытый класс
{
общественные строку текст ссылки { получить; набор; }
общественного строка Имя_операции { получить; набор; }
public string routevalue{ get; set; }
общественная список<Меню> В меню { получить; набор; }

}

-----------------------Класс контроллера-----------------
индекс общественного ActionResult ()
{
Список<меню&ГТ; матричноориентированного списка = новый список<меню&ГТ;();
Меню m = новое меню();
используя (sqlconnection с соед = новый объект sqlconnection(CString в))
{
Коннектикут.Открыть();
SqlDataReader myReader = null;
Команда sqlcommand myCommand = новая команда sqlcommand("выберите [TextLinkName],[ActionLinkName],[routevalue] от [MVCTESTING].на [dbo].[tbl_MainMenu]" коробки);
myReader = myCommand.Метода executereader();

пока (myReader.Читать())
{
м. Текст ссылки = (строки)myReader["TextLinkName"];
m.Actionname = (string)myReader["ActionLinkName"];
m.controllername = (string)myReader["routevalue"];
}

}
смотреть возвращение(матричноориентированного списка);
}

-------------------------Я застрял здесь, как мы можем показать на странице Laout------


Что я уже пробовал:

как мы можем показать в макете , действие,контроллер и routevalue должны исходить из таблицы базы данных
подобный этому


1 Ответов

Рейтинг:
9

MadMyche

Дай угадаю... твоя модель нулевая.
Проблема в том, что пока вы заполняете m объект, он никогда не добавляется к mlist возвращаемая объектная модель.

В первых двух строках контроллера вы создаете 2 экземпляра объекта

List<menu> mlist = new List<menu>();
Menu m = new Menu();
А потом вы заселяете m объект путем итерации по набору записей SQL
while (myReader.Read())
{
m.LinkText = (string)myReader["TextLinkName"];
m.Actionname = (string)myReader["ActionLinkName"];
m.controllername = (string)myReader["routevalue"];
}
И наконец вы возвращаете свой взгляд
return View(mlist);

Похоже на последнюю строчку в вашем Читатель.Читать() петля должна быть примерно такой
mlist.Add(m)


Member 10194266

ошибка:

Элемент модели, передаваемый в словарь, имеет тип 'System.Коллекции.Generic.List`1[WebApplication1.Модели.Меню]', но для этого словаря требуется элемент модели типа 'WebApplication1.Модели.Меню".

MadMyche

Shoulda был матричноориентированного списка.меню.добавить(), к сожалению.

MadMyche

Это, по-видимому, не связано с этим; я бы предложил вам начать это как новый вопрос

Member 10194266

Спасибо ,
У меня есть создать новый билет