Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / mvc объект datatable в роли модели / 11 сообщений из 11, страница 1 из 1
10.03.2015, 18:08
    #38900403
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mvc объект datatable в роли модели
Добрый вечер!

Можно ли datatable протащить в представление и через циклы вывести заголовки столбцов и содержимое строк?
...
Рейтинг: 0 / 0
10.03.2015, 18:09
    #38900407
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mvc объект datatable в роли модели
можно
...
Рейтинг: 0 / 0
10.03.2015, 18:28
    #38900415
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mvc объект datatable в роли модели
Я тоже так подумал , пробую, но у меня не прокатывает

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Configuration;
using System.Windows;
using System.Data;
using System.Data.SqlClient;

namespace mvc4prj.Controllers
{
    public class HomeController : Controller
    {
        public DataTable dt;

        public string StrConnWork = "Data Source=(localdb)\\v11.0;Initial Catalog=Test;Integrated Security=true; User ID=sa; Password=";

        private void BindData(string sViewSource)
        {

            using (SqlConnection Cnn = new SqlConnection(StrConnWork))
            {
                    SqlCommand command = new SqlCommand("select * from " + sViewSource, Cnn);
                    SqlDataAdapter adapter = new SqlDataAdapter();
                    Cnn.Open();
                    DataSet dtSet = new DataSet();
                    adapter.SelectCommand = command;
                    adapter.Fill(dtSet, sViewSource);
                    DataTable dt = dtSet.Tables[sViewSource];

            }
        }
        
        

        public ActionResult Index()
        {
            BindData("t1"); 

            // t1 - таблица в базе
            
            return View(dt);
        }

    }

}



Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
@model System.Data.DataTable 
@using System.Data; 


@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>
<div>
<table> 
    <thead> 
    <tr> 
    @foreach (DataColumn col in Model.Columns)   //на этой строке заедает  
    {          
        <th>@col.ColumnName</th> 
    }     
    </tr> 
    </thead>         
    <tbody> 
    @foreach (DataRow row in Model.Rows)     
    {         
        <tr> 
        @foreach (DataColumn col in Model.Columns)         
        {              
            <td>@row[col.ColumnName]</td> 
        }         
        </tr> 
    }     
    </tbody> 
</table>

</div>
...
Рейтинг: 0 / 0
10.03.2015, 18:53
    #38900438
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mvc объект datatable в роли модели
Нашел проблему
DataTable dt = dtSet.Tables[sViewSource];
dt не того контекста.
надо dt = dtSet.Tables[sViewSource];
...
Рейтинг: 0 / 0
10.03.2015, 19:07
    #38900449
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mvc объект datatable в роли модели
Я задумался и ищу ответ на вопрос: что лучше копаться с объектами сущности Model и представлениями View
или создать код по выводу объекта DataTable в табличном виде и создавать детальную форму по нему же?
Написать код частичного представления один раз и аргументить имена эскуэльных въюх для табличного вывода и таблиц для детальной формы. Все примеры которые в видеороликах и в инете основаны на частностях никакой обобщенности. Я считаю,
что с сущностной рутиной в аналитике (таблицы и т.д. ) лучше возиться в базе данных один раз.
Кто как думает?
...
Рейтинг: 0 / 0
10.03.2015, 21:06
    #38900498
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mvc объект datatable в роли модели
Draginsv, опишите задачу: для чего Вы это делаете, какова цель.
...
Рейтинг: 0 / 0
10.03.2015, 22:11
    #38900529
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mvc объект datatable в роли модели
skyANA,
я недавно работал в связке ms sql - ms access. Попробовал обобщить код в приложениях. Разделил формы на табличные и детальные.
избавился в коде от наименований полей таблиц и привязок к данным. Бизнес логика целиком на ms sql. Но до динамической генерации контролов не дошел.
C# net в этом плане по свободнее.
Мне кажется, что толстые клиенты умирают. Все будущее за web-ом.
Изучаю mvc, просмотрел много видеороликов и прочитал курсы. И меня смутила такая вещь - модель описывается как дубль описания таблицы базы данных. И я думаю можно попробовать обойтись без сущностей в приложении. В целом архитектура mvc
мне понравилась один razor чего стоит с динамической генерацией инпутов по коллекции к.н., плюс частичные представления. Но мусорить сущностями приложение как то считаю лишним. Ведь по идее эти сущности и реализуются в таблицах базы данных, да и до кучи вся бизнес логика. Я хочу добиться чтобы интерфейс web приложения зависел от содержимого базы данных.
Может быть я не правильно мыслю, поправьте пожалуйста.
...
Рейтинг: 0 / 0
11.03.2015, 07:44
    #38900654
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mvc объект datatable в роли модели
Draginsv,

От сущностей в приложении никуда не деться

Желаете использовать нетипизированную модель?
В одом месте работы может и убавится, но чудес не будет - прибавится в другом.
И баланс будет не в вашу пользу, скорее всего
...
Рейтинг: 0 / 0
11.03.2015, 10:17
    #38900805
monstrU
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mvc объект datatable в роли модели
Draginsv,

вы ошибочно считаете, что объект модели является копией таблицы. это верно в самом примитивном случае. в реальном проекте объект модели может храниться в 10 таблицах
...
Рейтинг: 0 / 0
11.03.2015, 10:33
    #38900844
Draginsv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mvc объект datatable в роли модели
Изопропил

А можно ситуацию, где я могу проиграть без модели сущности.
Согласен есть некоторое удобство у класса - это декорирование атрибутами, но и дополнительную подобную информацию можно поместить в базе. Зато потом код контроллера не надо переписывать при изменениях в аналитике задачи. Для совершенствования идеи с datatable надо придумать универсальный мостик формирование обратного вызова с параметрами влияющими на серверный запрос sql к базе чтобы не описывать конкретику с условиями where в запросе по полям фильтра. Это примерно так выглядит: есть табличный html - все записи таблицы, в разметке перед таблицей добавил инпут для фильра записей по требованию и все - фильтр
срабатывает при занесении данных в этот инпут - значение для условия, добавил еще один инпут - другое and к условию и все.
Т.е. по идее js должен сформировать пары ключ-значение типа json и передать в контроллер где эти данные передадутся в параметр хранимой процедуры, а в ней сформулируется запрос и данные передадутся в datatable. В ms access я так делал, но я снаружи генерил строку where.
...
Рейтинг: 0 / 0
11.03.2015, 10:50
    #38900867
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mvc объект datatable в роли модели
DraginsvА можно ситуацию, где я могу проиграть без модели сущности.
шаблон сильно утяжелится
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / mvc объект datatable в роли модели / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]