控制器Controller传递数组到View视图,在cshtml视图页面用Razor语法做循环、条件判断渲染页面,列表展示页面非常常用。
1. Controller控制器代码(HomeController.cs)
public ActionResult Show()
{
//定义字符串数组
string[] arr = { "一", "二", "三", "四", "五", "六", "七", "八", "九", "十" };
//通过ViewData把数组传给视图
ViewData["arr"] = arr;
return View();
}Code language: PHP (php)
2. 视图 Show.cshtml
@{
ViewBag.Title = "Show";
Layout = "~/Views/Shared/_Layout.cshtml";
//把ViewData取出,强制转为字符串数组
string[] ary = ViewData["arr"] as string[];
}
<h2>新闻详情</h2>
@* foreach遍历数组 *@
@foreach (var item in ary)
{
@item <br/>
}
@* if条件 + for循环 + continue跳转 *@
@if (ary.Length>5)
{
for (int i = 0; i < ary.Length; i++)
{
if (i==5)
{
//i等于5的时候跳过本次循环,不输出
continue;
}
@ary[i] <br/>
}
}Code language: PHP (php)
说明
@{ }:Razor代码块,写C#后台逻辑,不输出到html@变量:输出变量内容渲染到页面@foreach:Razor遍历集合/数组,最常用做列表渲染@if:Razor条件判断for循环 +continue:continue跳出本次循环,直接进入下一轮循环ViewData["key"]:控制器向视图传数据,视图取出需要做类型转换as string[]
运行
- foreach会输出:一、二、三、四、五、六、七、八、九、十
- for循环遇到
i==5执行continue,跳过下标5(“六”),输出:一、二、三、四、五、七、八、九、十
Previous: Razor Helper