-1
public IList<House> GetFullList()
        {
            try
            {
                var session = SessionFactory.GetCurrentSession();

                return session.QueryOver<House>()
                    .OrderBy(x => x.Owner).Asc
                    .List<House>();  

            }
            catch (NHibernate.ADOException nex)
            {
                log.Error(System.Reflection.MethodBase.GetCurrentMethod().Name + " Error-- " + nex.ToString());
                throw new Exception(ExceptionConstants.ERR_DATABASE_ERROR);
            }
        }

上記のコードは「PostService.css」にあります。今のところ、そのメソッドを使用して、データベースから AllHouses() というビューにすべてのデータを取得しようとしています。ハウスのエンティティは構成されています。所有者、価格、場所、説明。データを GridView に取り込むにはどうすればよいですか。「編集」「削除」機能も作りたいです。

4

1 に答える 1

1

メソッドが返すリストを反復処理するだけです。したがって、アクション内でフォームと呼ぶ場合:

// This code is in your controller

using  TemplateProject.Core.Entities;
// ...

public ActionResult HouseList()
{
   // call method to retrieve the list of houses
   var service = new PostService();
   var houses = service.GetFullList();

   // this will render the view called "HouseList", passing it the 
   // list of houses as view model
   return View(houses)
}

HouseListビュー ( )ではHouseList.cshtml、たとえば家のリストを反復処理して、それらをテーブルにレンダリングできます。

@using TemplateProject.Core.Entities
@model IEnumerable<House>

<table>
   <thead>
      <th>Description</th>
      <th>Description</th>
   </thead>
   <tbody>
      @foreach(var house in Model)
      {
         <tr><td>@house.Description</td></tr>
         <tr><td>@house.Price</td></tr>
      }
   </tbody>
</table>

Grid コントロールがある場合Modelは、ビューのプロパティを使用してそれを構築できます。

于 2012-04-11T07:03:14.280 に答える