即对ViewBag的使用:
ViewBag 不再是字典的键值对结构。而是 dynamic 动态类型。它会在程序执行的时候动态解析。
先创建两个Visual Studio ASP.NET Web视图,第一个视图创建并传输数据,第二个视图接收数据。
第一个视图页面的内容:
添加两个按钮的点击事件,一个用于添加数据,另一个用于传输到第二视图
<div id="divl"></div>
<button id="kaishi">添加数组</button>
<button id="chuangsu">传送数组</button>
用到插件:
<script src="~/Content/bootstrap-3.3.7-dist/js/jquery-2.0.3.min.js"></script>
<script src="~/Content/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
Js代码:
写的是新建一个数组,用循环写出0-8的数字传到第二视图
<script type="text/javascript">
var array;
$("#kaishi").click(function () {
array = new Array();
for (var i = 0; i < 9; i++) {
array.push(i.toString()); //把指定的值添加到数组后的新长度。//push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
$("#divl").append('<p>' + array + '</p>' + '<br>');//append() 方法在被选元素的结尾(仍然在内部)插入指定内容。
}
})
点击按钮触发事件,把创建的数组的内容传到第二视图
$("#chuangsu").click(function () {
if (array != null) {
location.href = "indexll?array=" + array;
}
})
</script>
创建视图二,在控制器中
下面这个是第一视图的视图
public ActionResult indexl()
{
return View();
}
下面是第二视图的视图,需要把视图1的参数传到视图二,再创建视图二
public ActionResult indexll(string array)
{
ViewBag.array = array;
return View();
}
第二视图的页面内容
Html的内容,创建一个盒子把视图一要传输的内容装起来
<div>
<p id="jiesho">@ViewBag.array</p>
</div>
Js插件:
<script src="~/Content/bootstrap-3.3.7-dist/js/jquery-2.0.3.min.js"></script>
<script src="~/Content/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
Js内容:
<script type="text/javascript">
var marray = new Array();
marray = $("#jiesho").html().split(',');
if (marray.length > 0) {
$("#jiesho").append('<p>下面是分开的数组:</p>' + '<br>');
for(var i=0;i<marray.length;i++){
$("#jiesho").append('<p>' + marray[i] + '</p>' + '<br>');
}
}
</script>
没有实图,复制代码即可实行。