Как создать объект класса в .cshtml странице MVC3? - PullRequest
0 голосов
/ 07 марта 2012

У меня есть создать класс с функцией для возврата DataTable

 namespace Office365
 {
    public class Office365
    {
         public DataTable GetQAData()
           {
              return Datatable;
           }  
    }
 }

эта функция используется в Controlller и визуализирует данные с использованием ViewBag.Content, подобного этому

В .cshtml

       @Html.Raw(ViewBag.QAData)  

В коде контроллера:

   using Office365;
   Office365 con = new Office365();

   StringBuilder sb = new StringBuilder();

        DataTable dt = con.GetQAData();
        int i = 1;
        foreach (DataRow dr in dt.Rows)
        {
           sb.append("<div></div>")
        }

        ViewBag.QAData = sb.ToString();

но возможно ли вызвать объект класса на .cshtml и преобразовать мой DataTable в Div? Я имею в виду прямо написать код в .cshtml

1 Ответ

2 голосов
/ 07 марта 2012

Я бы создал ViewModel с коллекцией ваших строк. Затем со страницы я буду циклически проходить через него и создавать HTML. Как то так

 public calss DataViewModel
 {
    public IList<MyRow> Rows {get;set;}
 }

от контроллера

    var model = new DataViewModel()
    model.Rows = new List<MyRow>();
    DataTable dt = con.GetQAData();
    int i = 1;
    foreach (DataRow dr in dt.Rows)
    {
       var row = new MyRow();
       /* populate the the MyRow class */
       Rows.Add(row);
    }

Из вида

    @foreach(var item in Model.Rows)
    {
       <div>@item.MyField</div>
    }

Я надеюсь, что вы поняли

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