在网站开发中我们经常需要用到表单,那么,在前台页面的表单中提交到后台控制器后,后台控制器如何接收表单提交过来的数据呢?下面我们介绍几种常用的方法。

我们先看看前台页面,这里我们用一个用户名和密码的表单来作为前台页面。

首先,我们新建一个MVC项目,然后添加一个控制器,UserInfoController;在控制器的默认方法index中,我们添加一个视图。这个index视图用来显示我们的前台注册页面。

视图如下:即使一个简单的表单~

代码如下,视图的关键点就是把表单内容提交到哪个控制器的那个方法。也即是通过action的url啦处理。

@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
<!--提交到后台控制器中的GetUserInfo方法中-->
<form action="~/UserInfo/GetUserInfo" method="post">
<table>
<tr>
<!--必须给每一个字段取一个唯一的name,后台控制器通过name来识别-->
<td>
用户名:<input type="text" name="username" />
</td>
</tr>
<tr>
<td>
密 码:<input type="text" name="password" />
</td>
</tr>
<tr>
<td>
<input type="submit" value="提交" />
</td>
</tr>
</table>
</form>
</div>
</body>
</html>

接下来我们就需要在后台控制器中处理表单提交过来的信息了。我们先在UserInfo控制器下再写一个方法,用来接收表单传过来的数据。

第一种方法,关键点在于参数名称必须和表单的name是一致的。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace MvcDemo.Controllers
{
public class UserInfoController : Controller
{
// GET: UserInfo
public ActionResult Index()
{
return View();
} //参数的名称需要和表单的字段名称一致,这样系统便会直接赋值。
public ActionResult GetUserInfo(string username,string password) { //为了方便演示,我们直接输出这两个值,表示我们已经拿到了数据
return Content(username+"*****"+password);
}
}
}

第二种方法,FormCollection包含了表单的所有值,其实就是键值对,键就是表单字段中的name

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace MvcDemo.Controllers
{
public class UserInfoController : Controller
{
// GET: UserInfo
public ActionResult Index()
{
return View();
} //FormCollection包含了表单的所有值,其实就是键值对,键就是表单字段中的name
public ActionResult GetUserInfo(FormCollection collection) { string username = collection["username"];
string password = collection["password"]; //为了方便演示,我们直接输出这两个值,表示我们已经拿到了数据
return Content(username+"*****"+password);
}
}
}

第三种方法,直接拿值。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace MvcDemo.Controllers
{
public class UserInfoController : Controller
{
// GET: UserInfo
public ActionResult Index()
{
return View();
} public ActionResult GetUserInfo() { string username = Request["username"];
string password = Request["password"]; //为了方便演示,我们直接输出这两个值,表示我们已经拿到了数据
return Content(username+"*****"+password);
}
}
}

第四种,通过建立一个对象来接受字段信息。只要对象的属性和name对应,系统便会自动赋值。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace MvcDemo.Controllers
{
public class UserInfoController : Controller
{
// GET: UserInfo
public ActionResult Index()
{
return View();
} public ActionResult GetUserInfo(User user) { string username = user.Username;
string password = user.Password; //为了方便演示,我们直接输出这两个值,表示我们已经拿到了数据
return Content(username+"*****"+password);
}
} public class User { private string username; public string Username
{
get { return username; }
set { username = value; }
} private string password; public string Password
{
get { return password; }
set { password = value; }
} }
}

ASP.NET在MVC控制器中获取Form表单值的方法的更多相关文章

  1. ASP.Net MVC 在控制器中获取View中的form表单值的方法

    在网站开发中,我们常常需要用到表单提交的方式,那么在MVC中是如何获取到表单中的数据呢?下面我们来介绍以下几种方式 首先我们先看看View前台页面 添加一个控制器 我们再看看前台页面的代码 @{ La ...

  2. ASP.Net 获取Form表单值

    新建一HtmlPage1.html,如下post发送() <body> <form enctype="multipart/form-data" action=&q ...

  3. 在ASP.NET MVC控制器中获取链接中的路由数据

    在ASP.NET MVC中,在链接中附加路由数据有2种方式.一种是把路由数据放在匿名对象中传递: <a href="@Url.Action("GetRouteData&quo ...

  4. 在 easyui中获取form表单中所有提交的数据 拼接到table列表中

    form表单===== <!-- 并用药品填写信息弹框 --> <div id="usingProdctMsgDiv" style="display: ...

  5. 过滤器中获取form表单或url请求数据

    var httpFormData = filterContext.HttpContext.Request.Form; var logContent = string.Empty; //获取url的 l ...

  6. MVC 在控制器中获取某个视图动态的HTML代码

    ASP.NET MVC 在控制器中获取某个视图动态的HTML代码   如果我们需要动态的用AJAX从服务器端获取HTML代码,拼接字符串是一种不好的方式,所以我们将HTML代码写在cshtml文件中, ...

  7. MVC教程二:从控制器中获取URL的值

    一.从控制器中获取URL的值有三种方式: 1.使用Request.QueryString[] 例如: string value = Request.QueryString["BookId&q ...

  8. ASP.NET Core 入门教程 4、ASP.NET Core MVC控制器入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC控制器简介 ASP.NET Core MVC控制器操作简介 ASP.NET Core MVC控制器操作简介返回类型简介 ASP.NET C ...

  9. ASP.NET Core 入门笔记5,ASP.NET Core MVC控制器入门

    摘抄自https://www.cnblogs.com/ken-io/p/aspnet-core-tutorial-mvc-controller-action.html 一.前言 1.本教程主要内容 A ...

随机推荐

  1. Linux-day1-pdf课件

    1.掌握Linux目录结构  2.掌握基础文件操作指令 3.vim常用操作命令 4.Linux用户和组

  2. Mysql学习笔记03

    Mysql 的视图 1  view  在查询中,我们经常把查询结果当成临时表来看, view 是什么? View 可以看成一张虚拟的表,是表通过某种运算得到的有一个投影. 2 如何创建视图? 创建视图 ...

  3. tp5 整合 个推

    这里因为业务需要使用推送功能 uni 里面前端集成了个推 所以选择了个推来做推送. 个推的官方文档地址: http://docs.getui.com/getui/server/php/start/ 在 ...

  4. Windows10用fiddler抓包Android应用(解决手机设置代理后无法上网,设置只抓app包)

    1.环境准备 1.电脑上安装fiddler 2.手机和电脑在同一个局域网内 2.设置 1.fiddler>Tools>Fiddler Options>Connections 勾选Al ...

  5. php获取微信基础接口凭证Access_token

    php获取微信基础接口凭证Access_token的具体代码,供大家参考,具体内容如下 access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.开发者需要进 ...

  6. javascript js原生ajax post请求 实例

    HTML代码: 注意: xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencod ...

  7. python中的矩阵、多维数组

    2. 创建一般的多维数组 import numpy as np a = np.array([1,2,3], dtype=int)  # 创建1*3维数组   array([1,2,3]) type(a ...

  8. 《SpringMVC从入门到放肆》七、模型与视图ModelAndView

    上一篇我们了解了开发一个Controller的4种方法,如果不记得的朋友可以看看上一篇博文,今天我们来继续了解SpringMVC的模型与视图ModelAndView. 一.什么是Model? Mode ...

  9. Windows系统MySQL安装配置

    MySQL是一个开放源代码的数据库管理系统,是由MySQL AB公司开发.发布并支持的,现在属于Oracle旗下产品. 与其他大型数据库管理系统如Oracle.DB2.SQL Server等相比,虽然 ...

  10. 32 ArcToolBox学习系列之数据管理工具箱——属性域(Domains)的两种创建及使用方式

    属性域分为两类,一种是范围域,一种是编码的值,下面将两个一起介绍,其中涉及到的编码,名称,只是试验,并非真实情况. 一.首先新建一个文件型地理数据库,将数据导入或者是新建要素类都可以 二.打开ArcT ...