当前位置: 首页 > news >正文

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

 

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();
    }

  调试效果:

  

 

转载于:https://www.cnblogs.com/CelonY/p/10424367.html

相关文章:

  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • 前端性能优化--懒加载和预加载
  • 如何封装使用api形式调用的vue组件
  • 小白修神传~程序员成神之路
  • 26、springboot与消息
  • Javascript基础之Array数组API
  • redhat6.4提权Ⅱ
  • 运算符和自增自减
  • ☆1033
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • linux下实用的快速随机生成复杂密码
  • 互联网世界,联通你我,这40张图送给你!让你笑到肚子疼!
  • WinDbg 命令三部曲:(二)WinDbg SOS 扩展命令手
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 手写双向链表LinkedList的几个常用功能
  • $translatePartialLoader加载失败及解决方式
  • 【翻译】babel对TC39装饰器草案的实现
  • Bootstrap JS插件Alert源码分析
  • C++11: atomic 头文件
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • egg(89)--egg之redis的发布和订阅
  • gops —— Go 程序诊断分析工具
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Javascript Math对象和Date对象常用方法详解
  • k8s如何管理Pod
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • SQL 难点解决:记录的引用
  • Zepto.js源码学习之二
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 前端技术周刊 2019-02-11 Serverless
  • 浅谈web中前端模板引擎的使用
  • 微信开源mars源码分析1—上层samples分析
  • 微信小程序:实现悬浮返回和分享按钮
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 优秀架构师必须掌握的架构思维
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • ​​​​​​​​​​​​​​Γ函数
  • (2.2w字)前端单元测试之Jest详解篇
  • (day6) 319. 灯泡开关
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (四)汇编语言——简单程序
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转)四层和七层负载均衡的区别
  • (转)一些感悟
  • (轉)JSON.stringify 语法实例讲解
  • **PHP二维数组遍历时同时赋值
  • .NET CF命令行调试器MDbg入门(三) 进程控制