MVC模式下,从前端获取数据返回后台,总共有三种形式。下面的代码示例将演示如何将数据返回到后端。

一、首先我们看看表单代码,注意input标签中name的值。

 <html>
<head runat="server">
<meta name="viewport" content="width=device-width" />
<title>Register</title>
</head>
<body>
<div>
<form method="post" action="AddUserInfo">
用户名:<input type="text" name="txtname"/><br />
密码:<input type="password" name="txtpwd"/><br />
邮箱:<input type="text" name="txtEmail"/><br />
<input type="submit" value="添加"/>
</form>
</div>
</body>
</html>

二、下面的代码展示如何向后端提交数据

  1. 通过request方法获取前端表单提交的数据。

  

  /// <summary>
/// 第一种添加数据的方法,通过request从前端获取数据
/// </summary>
/// <returns></returns>
public ActionResult AddUserInfo2()
{
Models.Userinfo userinfo = new Models.Userinfo(); userinfo.username = Request["txtname"];
userinfo.password = Request["txtpwd"];
userinfo.Emil = Request["txtEmail"];
userinfo.CreateDate = System.DateTime.Now;
Models.wangjin2Entities1 db = new Models.wangjin2Entities1();
db.Userinfo.Add(userinfo);
if (db.SaveChanges() > )
{
return Content("添加成功");
//return Response("index");
}
else
{
return Content("添加失败");
}
}

  2. 第二种方法:方法的参数的名称与表单元素name属性一致,会自动填充

  /// <summary>
/// 第二种方法:如果方法的参数的名称与表单元素name属性一致,会自动填充
/// </summary>
/// <returns></returns>
public ActionResult AddUserInfo(string txtname, string txtpwd, string txtEmail)
{
Models.Userinfo userinfo = new Models.Userinfo();
//因为方法的参数的名称和表单元素name属性一致,所以该处可以不使用request方法获取值
//userinfo.username = Request["txtname"];
//userinfo.password = Request["txtpwd"];
//userinfo.Emil = Request["txtEmail"];
userinfo.CreateDate = System.DateTime.Now;
Models.wangjin2Entities1 db = new Models.wangjin2Entities1();
db.Userinfo.Add(userinfo);
if (db.SaveChanges() > )
{
return Content("添加成功");
//return Response("index");
}
else
{
return Content("添加失败");
}
}

  3. 第三种方法:表单元素的值和数据库实例的类的属性一致,会自动填充

     3.1 、什么是数据库实例的类:就是指通过EF操作数据库之后生成的类,如下方图2

图1.                         图2.       

  3.2 第三种形式的代码展示:

 /// <summary>
/// 第三种方法:表单元素的值和数据库实例的类的属性一致,会自动填充
/// </summary>
/// <param name="userinfo"></param>
/// <returns></returns>
public ActionResult AddUserInfo1(Userinfo userinfo)
{
userinfo.CreateDate = System.DateTime.Now;
Models.wangjin2Entities1 db = new Models.wangjin2Entities1();
db.Userinfo.Add(userinfo);
if (db.SaveChanges() > )
{
return Content("添加成功");
//return Response("index");
}
else
{
return Content("添加失败");
}
}

MVC后台获取数据和插入数据的三种方式【二】的更多相关文章

  1. 【转载】C#批量插入数据到Sqlserver中的三种方式

    引用:https://m.jb51.net/show/99543 这篇文章主要为大家详细介绍了C#批量插入数据到Sqlserver中的三种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本篇, ...

  2. ASP.NET MVC中使用Unity进行依赖注入的三种方式

    在ASP.NET MVC中使用Unity进行依赖注入的三种方式 2013-12-15 21:07 by 小白哥哥, 146 阅读, 0 评论, 收藏, 编辑 在ASP.NET MVC4中,为了在解开C ...

  3. C#批量插入数据到Sqlserver中的三种方式

    本篇,我将来讲解一下在Sqlserver中批量插入数据. 先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的是GUID,表中没有创建任何索引.GUID必然是比自增长要快的,因为你生 成 ...

  4. Ajax上传数据和上传文件(三种方式)

    Ajax向后端发送数据可以有三种方式:原生Ajax方式,jQuery Ajax方式,iframe+form 方式(伪造Ajax方式) <!DOCTYPE html> <html la ...

  5. 获取Let`s Encrypt证书的三种方式

    1,acme.sh 方式 1)获取acme脚本 curl https://get.acme.sh | sh 2)开始获取证书 acme.sh强大之处在于,可以自动配置DNS,不用去域名后台操作解析记录 ...

  6. 在ASP.NET MVC中使用Unity进行依赖注入的三种方式

    在ASP.NET MVC4中,为了在解开Controller和Model的耦合,我们通常需要在Controller激活系统中引入IoC,用于处理用户请求的 Controller,让Controller ...

  7. 反射概述和反射获取字节码Class对象的三种方式

    反射:框架设计的灵魂 框架:半成品软件.可以在框架的基础上进行软件开发,简化变法 反射:将类的各个组成部分封装为其他对象,这就是反射机制 好处: 1.可以在程序运行的过程中操作这些对象. 2.可以解耦 ...

  8. ListView适配器获取布局文件作为View的三种方式

    第一种方法: public View getView(int position, View convertView, ViewGroup parent) { View view = null; if ...

  9. ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 try.dot.net 的正确使用姿势 .Net NPOI 根据excel模板导出excel、直接生成excel .Net NPOI 上传excel文件、提交后台获取excel里的数据

    ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案   ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不 ...

  10. Struts2(四.注册时检查用户名是否存在及Action获取数据的三种方式)

    一.功能 1.用户注册页面 <%@ page language="java" contentType="text/html; charset=UTF-8" ...

随机推荐

  1. Linux 安装 mysql 数据库

    1. 克隆虚拟机 2. 上传安装文件 1.上传文件 2.解压文件 tar -xvf 文件 3. 安装数据库 安装顺序: .debuginfo .shared .client .server 1. rp ...

  2. JS笔记—03(DOM编程)

    1. 动态体现:HTML代码加载到浏览器,代码运行后改变文档(DOM树)增删改查节点.例如:ajax(不是新技术,是几个技术的合体js+http后台操作)就是这样的原理 2.js对象(浏览器对象.脚本 ...

  3. Kattis之旅——Number Sets

    You start with a sequence of consecutive integers. You want to group them into sets. You are given t ...

  4. P2P原理及UDP穿透简单说明(转)

    源: P2P原理及UDP穿透简单说明

  5. 一个python代码练习

    需求: 写一个用户登录窗口 验证输入的用户名和密码,若正确打印欢迎信息,输入错误三次则加入锁定名单. 锁定名单要持久化存储 # *-* coding:utf-8 *-* # Auth: wangxz ...

  6. PHP html mysql js 乱码问题,UTF-8(乱码)

    一.HTML页面转UTF-8编码问题 1.在head后,title前加入一行: <meta http-equiv='Content-Type' content='text/html; chars ...

  7. 对客户端攻击:adobe_toolbutton

    对客户端攻击:adobe_toolbutton 漏洞简介 远程攻击者可以利用漏洞执行任意指令.当用户打开特定pdf就可以触发payload. 实践过程 输入命令use exploit/windows/ ...

  8. 经典算法分析:n与lgn

    顺序查找O(n) 二分查找O(lgn) 通过代码来感受性能差别 package recursion; /** * @author zsh * @company wlgzs * @create 2019 ...

  9. CentOS7 搭建Docker

    搭建环境 Docker支持一下的CentOS版本 CentOS 6.5 (64-bit)或者更高版本 CentOS 7 (64-bit) 搭建条件 Docker运行在CentOS 7上,要求系统64位 ...

  10. Ping 不通的原因分析

    背景 简介 ping是常用的网络管理命令,ping也属于一个通信协议,是TCP/IP协议的一部分,适用于windows和linux以及unix 根据reply用来检查网络是否通畅&网络连接的速 ...