MVC使用jQuery从视图向控制器传递Model的2种方法

【Asp.NET MVC】视图向控制器传递Model数组参数相关注意点 最近想要从前台传递多行数据到控制器,在网上查了一下说可以通过传递多个Model的方法来实现。具体解释就是创建一行数据对应的Model模型,在js里构造数组,然后再将data对象转为JSON传到控制器,并注明传参类型为json,最后在控制器中可以直接接受List<Model>类型的参数。 结果照着各种博客写了好久,要么接收不到参数,要么能接收到数组,但是数组元素里的属性全是空的,一度怀疑... 阅读详情
复制代码
using System.ComponentModel.DataAnnotations;

namespace MvcApplication1.Models
{
    public class Movie
    {
        public  int Id { get; set; }
        [Required(ErrorMessage = "必填")]
        public string Title { get; set; }
    }
}
复制代码

 

HomeController中,一个Action用来显示强类型视图,一个用来接收从视图传递过来的Model。

复制代码
using System.Web.Mvc;
using MvcApplication1.Models;

namespace MvcApplication1.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View(new Movie());
        }

        public ActionResult AddMovie(Movie movie)
        {
            return Json(new {msg = "ok"});
        }

    }
}
复制代码

 

  方法一:通过jQuery的serialize()方法

复制代码
@model MvcApplication1.Models.Movie

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Index</h2>

@using (Html.BeginForm("AddMovie", "Home", FormMethod.Post, new {id = "addForm"}))
{
    @Html.EditorFor(m => m.Title)
    @Html.ValidationMessageFor(m => m.Title)
    <br/>
    <input type="button" id="addMovie" value="提交"/>
}

@section scripts
{
    <script src="~/Scripts/jquery.validate.js"></script>
    <script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
    <script type="text/javascript">
        $(function() {
            $('#addMovie').click(function(e) {
                e.preventDefault();
                if ($('#addForm').valid()) {
                    $.ajax({
                        url: $('#addForm').attr('action'),
                        type: $('#addForm').attr('method'),
                        data: $('#addForm').serialize(),
                        success: function(data) {
                            if (data.msg == 'ok') {
                                alert('提交成功');
                            }
                        }
                    });
                }
            });
        });
    </script>

}
复制代码

 

  方法二:通过jQuery的 JSON.stringify()方法把匿名对象转换成json

复制代码
$(function() {
            $('#addMovie').click(function(e) {
                e.preventDefault();
                if ($('#addForm').valid()) {
                    addMovie();
                }
            });
        });

        function addMovie() {
            var movie = {
                "Title" : $('#Title').val()
            };

            $.ajax({
                url: '@Url.Action("AddMovie","Home")',
                data: JSON.stringify(movie),
                type: 'POST',
                contentType: 'application/json;charset=utf-8',
                success: function(data) {
                    if (data.msg == 'ok') {
                        alert('提交成功');
                    }
                }
            });
        }
复制代码
jQuery Model dialog * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * * @license http://www.opensource.org/licenses/mit-license.php * @license http://www.gnu.org/licenses/gpl.html * @project jquery.modaldialog 立即下载

相关推荐

jquery showModelDialog的使用方法示例详解

主要介绍了window.showModalDialog的使用方法,大家要以参考使用

使用jQuery异步传递Model到控制器方法,并异步返回错误信息

需要通过jquery传递到控制器方法的Model为: public class Person { public string Name { get; set; } public int Age { get; set; } } .csharpcode, .csharpcode pre ...

weixin_34337381的博客 325

从FPGA工程师视角看CXP-12:如何用Xilinx GTX/GTH收发器搞定一条50Gbps的工业相机数据流?

本文从FPGA工程师视角详细解析了如何利用Xilinx GTX/GTH收发器实现50Gbps的CXP-12工业相机数据流传输。通过协议分析、硬件设计要点和FPGA逻辑实现,帮助开发者高效构建高带宽工业视觉系统,特别适合4K/8K高分辨率图像处理需求。

weixin_42533622的博客 281

MVC使用jQuery从视图向控制器传递Model,数据验证,MVC HTML辅助方法小结

//MVC HTML辅助类常用方法记录 (1)@Html.DisplayNameFor(model => model.Title)是显示列名, (2)@Html.DisplayFor(modelItem => item.Title)是显示列的内容 (3)@Html.ActionLink("Create New", "Create")是超链接,跳转到model...

diehe5608的博客 253

【三维重建】基于多视角图像的三维重建

基于多视角图像的三维重建》

m0_64446860的博客 8758

关于 MCU 芯片外围电路的快速入门介绍

MCU 外围电路的核心是“围绕 MCU 需求,搭建稳定、匹配的外部支撑”,入门阶段无需掌握复杂设计,只需先吃透供电、复位、时钟、IO 驱动、基础通信这五大模块,再逐步扩展存储、显示、传感器等进阶功能。实践中多调试、多参考成熟方案,是快速掌握外围电路设计的关键。码字不易,若觉得本文对你有用,欢迎,相关技术热点时时看🔥🔥🔥​​​…

JiaWen的博客 1642

jqurey获取@model值

开发环境:.Net MVC + jqurey 获取后台controller传过来的model实体类 var model = @Html.Raw(Json.Encode(Model)); $('input[class="qty"]').click(function () { $.each(model, function (i, item) { console...

weixin_43843919的博客 1724

【目标跟踪】ECO算法论文阅读:ECO: Efficient Convolution Operators for Tracking

这里所指的训练集是指保存了每一帧的跟踪结果的训练集,也就是说,每一次进行model update的时候,要用在这一帧之前所有跟踪到的样本。那么随着视频越来越长,这个训练集就会越来越大。因为当目标被遮挡或者丢失的时候,比较新的这些样本本身就是错的,那么模型很容易有model drift,就是被背景或者错误的目标污染,导致跟踪结果出错。如下图所示,Baseline是传统的训练集,每更新一帧就加一个进来,那么连续的数帧后训练集里面的样本都是高度相似的,即容易遗忘前面的样本,且容易对最近的若干帧样本过拟合。

qq_43799400的博客 2610

SpringMVC后台传递数据到页面(Model来传参和域对象传参)

SpringMVC后台传递参数到页面 控制器中的参数传递到页面,常见的有两种方式:方式一: 通过Model来传参(model对象来传递)     @Controller @RequestMapping(“mfc”) public class FirstController { @RequestMapping(value=“fr”) pub...

别抢我蓝buff 901

python进行windows系统UI自动化之【pyautoit】

一般以我们平时操作,会从下图上方的地址栏进行操作,这里注意可以直接从下方的文件名处,输入对应的绝对地址,如:F:\程序设计书籍\《啊哈!pyautoit 是一个用python写的基于AutoItX3.dll的接口库,用来进行windows窗口的一系列操作,也支持鼠标键盘的操作。点击上访的图标,进行拖拉,到想访问的位置,注意下图两个红框中的数值,上面的框表示页面的标题和类,下面的框表示控件的类和序号(一般连起来使用)打开Auto Window Info(x64)或Auto Window Info(x86)

weixin_43936332的博客 9314

【GitHub项目实战】OpenAvatarChat 搭建实时交互数字人

OpenAvatarChat 项目构建了一个集成语音识别、大语言模型、语音合成、表情驱动和实时通信于一体的虚拟人系统,具备本地优先、模块解耦、快速部署的特点。系统通过配置文件统一管理组件,支持多种组合方案,适用于低资源设备和私有化部署场景。配置逻辑清晰、模块职责明确,能快速启动并实现端到端语音交互流程,为多模态系统学习与实践提供了结构完整的工程参考。

Mr数据杨 2750

ajax 传递model,MVC3使用JQuery Ajax将ViewModel传递给控制器​​方法

我正在尝试使用JQuery Ajax将表单的数据传递到我的控制器方法,但是由于在ControllerSide上使用调试器时ViewModel为null,因此我不确定如何执行此操作。我的ViewModel是:public class PremisesViewModel{public string createPremisesErrorMessage { get; set; }public strin...

weixin_39964590的博客 2001

气体放电管GDT选型解析

气体放电管(GDT)是电子设备电磁兼容设计中应对浪涌防护的核心器件,具有高能量吸收能力(10kA以上)和低漏电流特性。其工作原理分为击穿、导通和熄弧三阶段,通过电离气体泄放浪涌能量。GDT适用于雷击等大能量防护,但响应较慢(0.1-0.3μs),需搭配TVS/MOV组成多级防护。选型需匹配击穿电压(如220VAC系统选800V型号),并注意续流风险。典型应用包括电源端口、通信防雷模块的三极管共模防护或GDT-MOV串联方案,实现能量分流与快速钳位平衡。

硬核科技 208

视图控制器传入ajax,如何使用jquery Ajax将两个数据模型从视图传递到控制器

我正在使用MVC开发Web应用程序。 在一种情况下,我将使用jquery ajax方法从我的视图中调用服务器端操作。 我必须传递两个模型对象作为ajax的数据,但每次传递空值。 我提到了在jquery中使用AJAX Post的正确方法来从强类型MVC3视图传递模型来解决我的问题,但是不满意。 那么如何使用jquery ajax传递我的模型对象呢?用于调用Action的Jquery代码$("#btn...

weixin_35240068的博客 412

CT探测器普遍采用“星形拓扑+多ADC模组”架构的TDC(时间数字转换器)设计方案

本文提出一种基于TDC反馈机制的CT探测器时钟同步方法,通过延时测量、偏差计算和动态补偿三步硬件流水线,实现高精度同步。系统采用Xilinx Kintex UltraScale FPGA内置CARRY8进位链构建3.5ps分辨率的TDC,结合多级比较器和延迟单元,形成闭环反馈控制。实验表明,在512通道、1.28m传输距离下,同步精度稳定在10ps以内,较传统方案提升两个数量级,并能动态补偿干扰抖动。该方案解决了传统方法在CT旋转腔体环境下精度不足的问题,为下一代超高清CT提供了有效的时钟同步解决方案。

whm128的博客 274

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

视图控制器传入ajax,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, //必须设置该属性,否则控制器...

weixin_30753697的博客 442

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

ASP.NET MVC5(VS 2019)边做边学(01)创建项目&控制器与视图的关系

ASP.NET MVC模式已经逐步取代传统的WebForm模式,今天直接动手,边做边学,来探索MVC。 首先安装Visual Studio 2019,这种软件建议安装最新版。 官网地址:https://visualstudio.microsoft.com/zh-hans/vs/,一般下载professional版即可 安装过程忽略,务必勾选安装“ASP.NET和Web”和 你会用的语言 ...

"去昨天找你" 4839

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

ASP.NET MVC中从前台页面视图(View)传递数据到后台控制器(Controller)方式

方式一: 数据存储模型Model:此方式未用到数据存储模型Model,仅简单的字符串string型数据传递 前台接收显示数据视图View: <div style="height:300px; width:100%"> <div style="margin-left:100px;margin-top:50px;"> ...

568

ajax传递对象到MVC控制器

1、view层中ajax写法: function Add2() { var model = new Object(); model.UserName = $('#UserName').val(); model.Age = 20; model.ID = 1; //提交 ...

weixin_30919571的博客 207
上一篇: 高效管理ASP.NET的JavaScript库,把JS文件嵌入到DLL中
下一篇: Linq 语法集合
make1828
博客等级 码龄19年 60粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值