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. Jquery部分小结

    window.onload 必须等待网页中所有的内容加载完毕后(包括图片)才能执行,如果多个,只会执行最后一个;$(document).ready() 网页中所有DOM结构绘制完毕后就执行,可能DOM ...

  2. 关于web.xml中配置Spring字符编码过滤器以解决中文乱码的问题

    当出现中文乱码问题,Spring中可以利用CharacterEncodingFilter过滤器解决,如下代码所示: <!-- Spring字符编码过滤器:解决中文乱码问题 --> < ...

  3. Golang对文件读写操作

    package main import ( "bufio" "fmt" "io" "os" ) //写 func Wri ...

  4. P3690 【模板】Link Cut Tree (动态树)

    P3690 [模板]Link Cut Tree (动态树) 认父不认子的lct 注意:不 要 把 $fa[x]$和$nrt(x)$ 混 在 一 起 ! #include<cstdio> v ...

  5. 20145308 《网络对抗》 MAL_后门应用与实践 学习总结

    20145308 <网络对抗> MAL_后门应用与实践 学习总结 实践目的 使用nc实现win和Linux间的后门连接 meterpreter的应用 MSF POST的应用 知识点学习总结 ...

  6. [内核驱动] miniFilter 内核层与应用程序通信

    转载:http://blog.csdn.net/heyabo/article/details/8721611 转载:http://www.cnblogs.com/ljinshuan/archive/2 ...

  7. PID算法控制简单理解

    1 传统的位式控制算法 用户期望值Sv(设定值)经控制算法输出一个输出信号OUT,输出信号加载到执行部件上(像MOS管等)对控制对象进行控制(步进电机.加热器等),控制对象的当前值(Pv)如速度通过传 ...

  8. 前端 --- 2 css

    一. CSS的几种引入方式 1.行内样式 2.内部样式 写在网页的<head></head>标签对的<style></style>标签对中 3.外部样式 ...

  9. linux下安装tomcat和jdk

    1.现在的linux服务器一般自带jdk,先查询是否已经安装jdk rpm -qa | grep java rpm -qa | grep jdk 如上则是没有安装,可以直接跳到步骤X,安装jdk.否则 ...

  10. Web操作web.config

    1.引用System.Configuration.DLL 2.引用命名空间System.Configuration和System.Web.Configuration 3.上代码 // 使用指定的虚拟路 ...