加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_梅州站长网 (https://www.0753zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

ASP.NET在MVC控制器中获取Form表单值的方法

发布时间:2022-09-13 15:45:29 所属栏目:Asp教程 来源:
导读:  在网站开发中我们经常需要用到表单,那么,在前台页面的表单中提交到后台控制器后,后台控制器如何接收表单提交过来的数据呢?下面我们介绍几种常用的方法。

  我们先看看前台页面,这里我们用一个用户名和
  在网站开发中我们经常需要用到表单,那么,在前台页面的表单中提交到后台控制器后,后台控制器如何接收表单提交过来的数据呢?下面我们介绍几种常用的方法。
 
  我们先看看前台页面,这里我们用一个用户名和密码的表单来作为前台页面。
 
  首先,我们新建一个MVC项目,然后添加一个控制器,UserInfoController;在控制器的默认方法index中,我们添加一个视图。这个index视图用来显示我们的前台注册页面。
 
  视图如下:即使一个简单的表单~
 
  技术分享
 
  代码如下,视图的关键点就是把表单内容提交到哪个控制器的那个方法。也即是通过action的url啦处理。
 
  @{
      Layout = null;
  }
 
 
 
      
      
 
 
      
   
          
          
 
              
 
                          用户名:
 
                      
 
                          密 码:
 
                      
 
                          
                      
 
          
 
      
 
 
  接下来我们就需要在后台控制器中处理表单提交过来的信息了。我们先在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);
          }
      }
  }
  第二种方法ASP表单,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; }
          }
      }
  }
 

(编辑:云计算网_梅州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!