ASP.NET MVC之视图传参到控制器的几种形式

45 篇文章 1 订阅

1. 传递数组

复制代码
 $(function () {
            var value = ["C#", "JAVA", "PHP"];
            $("input[type='button']").click(function () {
                $.ajax(
                    {
                        url: "/Home/List",
                        type: "Get",
                        data: { valuelist: value },
                        traditional: true,  //必须设置该属性,否则控制器中获取不到值
                        success: function (data) {
                            alert("Success");
                        }
                    });
            });

        });
复制代码
public ActionResult List(List<string> valuelist)
        {
            return View();
        }

调试效果:

2. 传递单个Model

复制代码
@using (Html.BeginForm())
    {
        <div class="form-group">
            @Html.LabelFor(model => model.Name, new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Name)
                @Html.ValidationMessageFor(model => model.Name)
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.Price, new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Price)
                @Html.ValidationMessageFor(model => model.Price)
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.Color, new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Color)
                @Html.ValidationMessageFor(model => model.Color)
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="提交" class="btn btn-default" />
            </div>
        </div>

    }
复制代码
复制代码
public class Products
    {

        public int Id { get; set; }

        [DisplayName("产品名称")]
        [Required(ErrorMessage = "此项不能为空")]
        public string Name { get; set; }


        [DisplayName("产品价格")]
        [Required(ErrorMessage = "此项不能为空")]
        public string Price { get; set; }

        [DisplayName("产品颜色")]
        [Required(ErrorMessage = "此项不能为空")]
        public string Color { get; set; }

    }
复制代码
 public ActionResult Add(Products product)
        {
            return View();
        }

 调试效果:

 3. 传递多个Model

复制代码
 $("input[type='submit']").click(function () {
                var promodes = [];
                promodes.push({ Id: "0", Name: "手机", Color: "白色",Price:"2499" });
                promodes.push({ Id: "1", Name: "耳机", Color: "黑色", Price: "268" });
                promodes.push({ Id: "2", Name: "充电器", Color: "黄色",Price: "99" });
                $.ajax(
                    {
                        url: "/Home/List",
                        type: "Post",
                        data: JSON.stringify(promodes),  //必须对数组进行序列化
                        contentType:"application/json",  //设置contentType的值为"application/json",默认为"application/json"
                        success: function (data) {
                            alert("Success");
                        }
                    });
            });
复制代码
 public ActionResult List(List<Products> valuelist)
        {
            return View();
        }

调试效果:

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值