35

Controller アクションでいくつかのデータにバインドされた List<> があり、その List<> を View に渡して、Razor View で DataGrid にバインドしたいと考えています。

私はMVCが初めてです.渡す方法とViewでアクセスする方法を教えてください。

4

4 に答える 4

50

ビューにデータを渡すのは、オブジェクトをメソッドに渡すのと同じくらい簡単です。Controller.View メソッドを見てください。

protected internal ViewResult View(
    Object model
)

このようなもの

//controller

List<MyObject> list = new List<MyObject>();

return View(list);


//view

@model List<MyObject>

// and property Model is type of List<MyObject>

@foreach(var item in Model)
{
    <span>@item.Name</span>
}
于 2012-06-12T10:36:23.373 に答える
9

動的オブジェクトViewBagを使用して、コントローラーからビューにデータを渡すことができます。

以下をコントローラーに追加します。

ViewBag.MyList = myList;

次に、ビューからアクセスできます。

@ViewBag.MyList

// e.g.
@foreach (var item in ViewBag.MyList) { ... }
于 2012-06-12T10:30:48.570 に答える
4
  1. ビューに必要なリストやその他のものを含むモデルを作成します。

    例えば:

    public class MyModel
    {
        public List<string> _MyList { get; set; }
    }
    
  2. アクションメソッドから、次の_MyListように、目的のリストをモデルのプロパティに配置します。

    public ActionResult ArticleList(MyModel model)
    {
        model._MyList = new List<string>{"item1","item2","item3"};
        return PartialView(@"~/Views/Home/MyView.cshtml", model);
    }
    
  3. ビューで、次のようにモデルにアクセスします

    @model MyModel
    foreach (var item in Model)
    {
       <div>@item</div>
    }
    

スタートの参考になると思います。

于 2012-06-12T14:27:35.887 に答える