Какова наилучшая практика для отображения содержимого DataSet в ASP.net MVC v1.0? - PullRequest
1 голос
/ 12 июля 2010

Я давно знаком с использованием ASP.net GridView в формах ASP.net для отображения содержимого DataSet на веб-странице.

Как лучше всего отображать содержимоеDataSet в ASP.net MVC?Я могу добавить DataSet в свой DataVew словарь в моем контроллере, но я не уверен, как отобразить его на странице просмотра.

Ответы [ 3 ]

1 голос
/ 13 июля 2010

Вы можете посмотреть мой ответ здесь . Если у вас остались вопросы, я буду рад сделать все, что смогу.

0 голосов
/ 03 июня 2011

Если вы используете SQL Server, то для MVC вы хотите использовать Entity Framework. Поскольку Oracle ответил мне неубедительным ответом о том, что Microsoft не дает им спецификации (DEVART занимается Oracle для Entity Framework в течение многих лет)

Независимо от того, если у вас есть набор данных (используйте набор данных, если вам не нужен тяжелый набор данных), то для облегчения вашей жизни вы захотите преобразовать свой набор данных в список (если вы получаете набор данных, скажем, из Интернета услуга или слой ... Таким образом, что-то вроде

    public IEnumerable<IClient> GetClient(IClient client)
    {
       DataSet dataSet = ....
         .....
      List<IClient> clients = (from c in dataSet.Tables[0].AsEnumerable()
                                 select new Client()
       .....
       return clients;
    }

Тогда в вашем контроллере: IClient client = (IClient) TempData ["Клиент"];

        // Instantiate and instance of the repository 
        var repository = new Get_Client_Repository();
        // Set a model object to return the dynamic list from repository method call passing in the parameter data
        var model = repository.GetClient(client);

        // Call the View up passing in the data from the list
        return View(model);

Тогда в вашем представлении:

   @model IEnumerable<CISOnlineMVC.DAL.IClient>

   @foreach (var item in Model) {

     <tr>
    <td>
        @Html.ActionLink("Select", "ClientDetails", "Cis", new { id = item.ClientId }, null) |
    </td>
    <td>
        @item.LastName
    </td>
    .......
   }
0 голосов
/ 13 июля 2010

DataSets редки для приложений ASP.NET MVC. Нет никаких серверных элементов управления, которые позволили бы вам отображать содержимое DataSet как GridView в WebForms. Поэтому, если вы ищете лучшие практики, я бы посоветовал вам внедрить некоторую обработку на стороне сервера, которая преобразует ваш DataSet в иерархию объектов .NET, которую вы передадите в строго типизированное представление. Конечно, если это новое приложение, вы бы даже не потрудились получить данные в форме DataSet, но вы бы использовали ORM, который напрямую предоставит вам объекты .NET.

Итак, когда у вас есть объекты, вы можете взглянуть на MVCContrib Grid helper . Конечно, поскольку вы используете ASP.NET MVC 1.0, вам нужно будет убедиться, что вы загружаете правильную версию MVCContrib, которая скомпилирована для него, поскольку текущая версия скомпилирована для ASP.NET MVC 2.0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...