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>
发布了53 篇原创文章 · 获赞 18 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/YUEXILIULI/article/details/102647460
今日推荐