2010-10-25 3 views
0

Я запускаю динамически построенный оператор SQL и помещаю результаты в datatable. Затем мне нужно отобразить эти результаты в виде таблицы в частичном представлении. Обычно я создавал объект List <> и строго набирал его на странице, но в этом случае я не знаю, каким будет последний sql, поскольку он построен пользователем во время выполнения.Как отображать данные в asp.net mvc 2?

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

Благодаря

ответ

1

Как вы показываете tablular данные, вы должны использовать HTML таблицу, чтобы сделать работу. Ответ Dismissile отображает только один столбец таблицы. Более общий ответ можно найти в следующей SO вопрос:

Displaying standard DataTables in MVC

бит, что касается вас, с моделью сильно типизированных как DataTable:

<table border="1"> 
    <thead> 
     <tr> 
      <%foreach (System.Data.DataColumn col in Model.Columns) { %> 
       <th><%: col.Caption %></th> 
      <%} %> 
     </tr> 
    </thead> 
    <tbody> 
    <% foreach(System.Data.DataRow row in Model.Rows) { %> 
     <tr> 
      <% foreach (var cell in row.ItemArray) {%> 
       <td><%: cell.ToString() %></td> 
      <%} %> 
     </tr> 
    <%} %>   
    </tbody> 
</table> 

EDIT

Отредактировано для кодирования содержимого данных. Используя mvc 2 (в соответствии с тегом), тогда Html.Encode не требуется, только <%: обозначение, которое доступно в mvc 2.