Как передать DataTable в модель и отобразить в MVC с помощью VB.NET

#asp.net #asp.net-mvc #vb.net #datatable

#asp.net #asp.net-mvc #vb.net #поддающийся обработке данными

Вопрос:

Я получаю некоторые данные из базы данных (Oracle) в datatable. Мне нужно привязать эти данные к таблице на просмотре. Моя таблица данных содержит около 10 столбцов, и я хочу отобразить их все в таблице. У меня также есть 3 другие таблицы на той же странице, и все они имеют около 8 столбцов и используют 3 отдельные таблицы данных для получения данных из базы данных. Итак, все вместе 4 таблицы данных и около 40 столбцов.

Мои вопросы:

  1. Как присвоить значения 40 столбцов моим свойствам в модели?
  2. Я слышал, что я не должен использовать datatable для передачи данных для просмотра. Правильно ли это? Если да, то почему?

Если то, что я сейчас делаю, не является хорошим способом программирования, пожалуйста, дайте мне знать, как это сделать.

Например, у меня есть модель со следующими свойствами:

 public class Properties
public property firstname as string
public property lastname as string
public propery gender as string
public property phonenumber as string
public property homenumber as string
public property city as string
public property state as string
public property country as string
etc...
End Class
 

в моем контроллере:

 Dim prop as new Properties
Dim dao as DataObject
Dim dt, dt1, dt2, dt3 as new datatable

dt = dao.getDetails(userID)
dt1 = dao.getInformation(firstName)
dt2 = dao.getContactDetails(phonenumber)

If dt.Rows.Count > 0 Then
  prop.firstname = Convert.ToString(dt.rows.Item("FirstName"))
    etc...
End If
If dt1.Rows.Count > 0 Then
  prop.state = Convert.ToString(dt.rows.Item("State"))
    etc...
End If
If dt2.Rows.Count > 0 Then
  prop.Country = Convert.ToString(dt.rows.Item("Country"))
    etc...
End If
 

Комментарии:

1. Было бы нормально передать данные в ваше представление с помощью вызова ajax и вернуть вашу модель в виде JSON?

Ответ №1:

Вам нужно создать метод, который присваивает значения из различных таблиц данных вашей модели (если вам нужна только одна модель) (это можно сделать в вашем контроллере или другой службе)

Затем вы передаете свою модель в представление.

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

Кроме того, вы можете создать модель для сопоставления каждой таблицы данных, затем использовать viewmodel для прикрепления каждой модели и передачи viewmodel вашему представлению.

Комментарии:

1. Не могли бы вы, пожалуйста, дать мне несколько примеров кода для написания метода, который присваивает значения из таблиц данных моделям, а также использует подход модели представления