MVC Viewbag/強類型,把控制器中的list值送至視圖

ViewBag實現:

一、控制器裏面的代碼:

namespace Ajax_test
{
    public class HomeController : Controller
    {
    	public class UserList
        {
            public string name;
            public int age;
        }
        public ActionResult Ajax3()
        {//實例化
        	UserList user1 = new UserList() {name="yuexi1",age=12 };
            UserList user2 = new UserList() {name="yuexi2",age=45 };
            List<UserList> list = new List<UserList>//同List.Add(參數)
            {
                user1,user2//添加
            };
            ViewData["UserList"] = list;
            
            return View(ViewBag);
        }
    }
}

二、視圖裏面的代碼:

使用for進行遍歷
<ul>
    @for (int i = 0; i <= 1; i++)
    {
        <li>@ViewBag.UserList[i].name</li>
        <li>@ViewBag.UserList[i].age</li>
    }
</ul>
使用foreach進行遍歷
<ul>
    @foreach (var i in ViewBag.UserList)
    {
        <li>@i.name</li>
        <li>@i.age</li>
    }
</ul>

關於ViewData和ViewBag,需要注意的是:

@*正確,dynamic類型的解析作用,foreach可以使用 *@
@foreach(int i in ViewBag.UserList)

@*錯誤,foreach語句不可作用於object類型對象上 *@
@foreach(int i in ViewData["UserList"])


頁面展示效果:
在這裏插入圖片描述

強類型實現:

@model IEnumerable<Ajax_test.Controllers.mvcAjaxByAjaxController.UserList>
@{
    ViewBag.Title = "Ajax3";
}

<ul>
    @foreach (var i in Model)
    {
        <li>@i.name</li>
        <li>@i.age</li>
    }
</ul>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章