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. 用WPE+CCproxy+自动代理截取安卓游戏封包

    wpe三件套:https://pan.baidu.com/s/19gI2GPZ0iuu4wpKljCOn4A 用WPE+CCproxy+自动代理截取安卓游戏封包>>

  2. lnmp重置密码

    wget http://soft.vpser.NET/lnmp/ext/reset_mysql_root_password.sh;sh reset_mysql_root_password.sh

  3. chrome platform

    folder_extension: ---menifest.json ---navigator_change.js manifest.json { "manifest_version&quo ...

  4. 11:vue-cli脚手架

    1.1 vue-cli基本使用 官网: https://github.com/vuejs/vue-cli 1.简介 vue-cli 是一个vue脚手架,可以快速构造项目结构 vue-cli 本身集成了 ...

  5. windows下常用的几个批处理脚本

    1.windows下对比两个文件内容,有差异则执行一个任务: 适用场景:比如你的数据库备份结果的日志每天会形成一个文件,如下图,你可以通过此脚本检测到文件的变化,并执行发送告警邮件通知你数据库备份异常 ...

  6. alloc_skb申请函数分析

    alloc_skb()用于分配缓冲区的函数.由于"数据缓冲区"和"缓冲区的描述结构"(sk_buff结构)是两种不同的实体,这就意味着,在分配一个缓冲区时,需要 ...

  7. JavaScript中字符串的方法:charAt()、charCodeAt()、indexOf()、lastIndexOf()、substr()、slice()、substring()、search()、replace()、split()、concat()、toLowerCase()、toUpperCase()

    1.字符创的创建: //1.通过new 来创建 var str = String("javascript"); //2.3.直接使用字面量进行创建 var str='html5'; ...

  8. clnt_create: RPC: Program not registered

    原因:[root@nfs nfs]# systemctl start nfs-utils 解决方法:[root@nfs nfs]# systemctl start nfs

  9. vsCode设置中文

    1.安装软件之后,关闭欢迎界面,Ctrl+shift+p打开命令窗口,输入lang,选择configuration display language,改为 "locale":&qu ...

  10. topcoder srm 445 div1

    problem1 link 这个的结论是只需要考虑坐标是整数或者是整数.5,比如(2.5,3),(4,3.5),(1.5,4.5)这样的时候.这个详细证明起来应该挺麻烦的.这里有一些讨论. probl ...