dynamic 动态类型小测试

本文介绍了一种利用ASP.NET MVC中的ViewBag特性在不同视图间传递动态数组的方法。通过JavaScript生成数组,并通过URL参数的形式传递给下一个视图,最终在目标视图中解析并显示数组中的每个元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

即对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>

没有实图,复制代码即可实行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值