#asp.net-mvc-3
#asp.net-mvc-3
Вопрос:
мне нужно передать данные в мое представление.
мой ActionResult таков
public ActionResult Index()
{
SiteMapData sp = new SiteMapData();
ViewData["folders"] = sp.GetFolders();
return View();
}
sp.GetFolders возвращает DataView
internal DataView GetFolders()
{
SqlCommand cmd = new SqlCommand("usp_PGF_Select");
cmd.CommandType = CommandType.StoredProcedure;
SqlConnection myConnection = Util.GetConnection();
cmd.Connection = myConnection;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
DataView dView = ds.Tables[0].DefaultView;
return dView;
}
как мне нужно просмотреть данные в моем представлении.
я пробую это, но это не работает
@foreach (var c in (System.Data.DataView)ViewData["folders"])
{
<p>@c.SMF_Name</p>
}
может быть, мне нужно передать другой тип данных?
Ответ №1:
Вы должны выполнять объектно-реляционное сопоставление (ORM), что означает создание классов, представляющих структуру вашей базы данных, и сопоставление результатов с ними. Конечно, это можно сделать вручную, но настоятельно рекомендуется использовать could ORM!
Для начала попробуйте LINQ to SQL или, возможно, Entity Framework, там есть множество хороших руководств.
Затем вы будете возвращать что-то типа System.Collections.Generic.List<MyTable>
, с которым намного, намного проще работать.
Комментарии:
1. Я знаю, но для этого проекта мне нужно использовать базу данных mssql 2000, подключенную к веб-сайту, который будет продолжать работать. я просто разрабатываю серверную часть.