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

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

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

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

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

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

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


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