Controller アクションでいくつかのデータにバインドされた List<> があり、その List<> を View に渡して、Razor View で DataGrid にバインドしたいと考えています。
私はMVCが初めてです.渡す方法とViewでアクセスする方法を教えてください。
Controller アクションでいくつかのデータにバインドされた List<> があり、その List<> を View に渡して、Razor View で DataGrid にバインドしたいと考えています。
私はMVCが初めてです.渡す方法とViewでアクセスする方法を教えてください。
ビューにデータを渡すのは、オブジェクトをメソッドに渡すのと同じくらい簡単です。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>
}
動的オブジェクトViewBag
を使用して、コントローラーからビューにデータを渡すことができます。
以下をコントローラーに追加します。
ViewBag.MyList = myList;
次に、ビューからアクセスできます。
@ViewBag.MyList
// e.g.
@foreach (var item in ViewBag.MyList) { ... }
ビューに必要なリストやその他のものを含むモデルを作成します。
例えば:
public class MyModel
{
public List<string> _MyList { get; set; }
}
アクションメソッドから、次の_MyList
ように、目的のリストをモデルのプロパティに配置します。
public ActionResult ArticleList(MyModel model)
{
model._MyList = new List<string>{"item1","item2","item3"};
return PartialView(@"~/Views/Home/MyView.cshtml", model);
}
ビューで、次のようにモデルにアクセスします
@model MyModel
foreach (var item in Model)
{
<div>@item</div>
}
スタートの参考になると思います。