0

私はMVCフレームワークの初心者です。私のクエリは、データベースSQL
データベースからデータを受信する必要があるということです。.cshtml.plzヘルプに表示します...。

  public ActionResult Index()
    {
        var model = (from p in am.AMS_Page_Accesses
                     where p.Role_id == "m"
                     select new {
                      p.Name,
                      p.Id,
                      p.Link
                      }).ToList();
        var  abc= new linkname
          {    

          }  

       return View(abc);
    }

モデル

public class linktab
    {            
        public  string id { get; set; }
        public  string Name { get; set; }
        public string link { get; set; }    
    }
    public class linkname
    {
        public List<linktab> menu { get; set; }
    }

.cshtmlで

 @foreach (var a in Model)
    {
     <div>a.Name</div>
     <div>a.Id</div>
     <div>a.Link</div>
    }
4

2 に答える 2

0

@modelビューのモデルが正確に何であるかを表示しませんでした。取得したエラーによると、(ディレクティブを使用して)まったく指定しなかったようです。

これを試して

public ActionResult Index()
{
    var model = (from p in am.AMS_Page_Accesses
                 where p.Role_id == "m"
                 select new linktab
                 {
                     Id = p.Id,
                     Link = p.Link,
                     Name = p.Name
                 }).ToList();

    var abc = new linkname
    {
        menu = model
    }  

    return View(abc);
}

あなたの見解では:

@model linkname


@foreach (var a in Model.menu)
{
   <div>a.Name</div>
   <div>a.Id</div>
   <div>a.Link</div>
}
于 2012-08-09T18:40:05.167 に答える
0

このようにアクションを変更する空のコレクションを送信しています。

あなたのビューはリンクタブのリストに強く入力されていると思います

public ActionResult Index()
{
    var model = (from p in am.AMS_Page_Accesses
                 where p.Role_id == "m"
                 select new linktab{
                  Name = p.Name,
                  id = p.Id,
                  link = p.Link
                  }).ToList();

   return View(model);
}

そうではなく、モデルがクラスlinknameに強く入力されている場合は、次のようにアクションを実行する必要があります。

public ActionResult Index()
{
    var model = (from p in am.AMS_Page_Accesses
                 where p.Role_id == "m"
                 select new linktab{
                  Name = p.Name,
                  id = p.Id,
                  link = p.Link
                  }).ToList();
    linkname abc= new linkname
    {    
       menu = model
    }  
   return View(abc);
}

また、ビューのコードを次のように変更できます

@foreach (var a in Model.menu)
{
    <div>a.Name</div>
    <div>a.Id</div>
    <div>a.Link</div>
} 
于 2012-08-09T18:40:38.950 に答える