300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > asp.net.mvc 中form表单提交控制器的2种方法和控制器接收页面提交数据的4种方法...

asp.net.mvc 中form表单提交控制器的2种方法和控制器接收页面提交数据的4种方法...

时间:2019-12-13 14:35:37

相关推荐

asp.net.mvc 中form表单提交控制器的2种方法和控制器接收页面提交数据的4种方法...

MVC中表单form是怎样提交? 控制器Controller是怎样接收的?

1、.cshtml 页面form提交

(1)普通方式的的提交

(2)特殊方式提交

2、控制器处理表单数据的四种方法

方法1:使用传统的Request请求数据

方法2:Action参数名与表单元素name值一一对应

方法3:从MVC封装的FormCollection容器中读取

方法4:使用实体作为Action参数传入,前提是提交的表单元素名称与实体属性名称一一对应

控制器源码

using MvcStudy.Models;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

namespace MvcStudy.Controllers

{

public class LoginController : Controller

{

public ActionResult Index() {

return View();

}

public ActionResult Main() {

return View();

}

//1、.cshtml页面的form请求

//<form action="Login/index" method="post"></form>

//2、控制器处理表单提交方式的四种方法

方法1:使用传统的Request请求数据

//[HttpPost]

//public ActionResult GetUserMsg()

//{

// string usercode = Request.Form["UserCode"];

// string userpwd = Request.Form["UserPwd"];

// if(usercode != "admin" || userpwd != "admin"){

// return RedirectToAction("../Home/error");

// }

// return RedirectToAction("main");

//}

方法2:Action参数名与表单元素name值一一对应

//[HttpPost]

//public ActionResult GetUserMsg(string UserCode, string UserPwd)

//{

// string usercode = UserCode;

// string userpwd = UserPwd;

// if(usercode != "admin" || userpwd != "admin"){

// return RedirectToAction("../Home/error");

// }

// return RedirectToAction("main");

//}

方法3:从MVC封装的FormCollection容器中读取

//[HttpPost]

//public ActionResult GetUserMsg(FormCollection form)

//{

// string usercode = form["UserCode"];

// string userpwd = form["UserPwd"];

// if (usercode != "admin" || userpwd != "admin")

// {

// return RedirectToAction("../Home/error");

// }

// return RedirectToAction("main");

//}

//方法4:使用实体作为Action参数传入,前提是提交的表单元素名称与实体属性名称一一对应

[HttpPost]

public ActionResult GetUserMsg(SysUser user)

{

string usercode = user.UserCode;

string userpwd = user.UserPwd;

if (usercode != "admin" || userpwd != "admin")

{

return RedirectToAction("../Home/error");

}

return RedirectToAction("main");

}

}

}

注意:RedirectToAction("main")是重定向你要登录的页面,RedirectToAction("error")则是错误提示页面

实体model类 SysUser

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

namespace MvcStudy.Models

{

public class SysUser

{

public string UserCode { get; set; }

public string UserPwd { get; set; }

public SysUser() { }

public SysUser(string usercode,string userpwd) {

usercode = this.UserCode;

userpwd = this.UserPwd;

}

}

}

登录页面的效果如图

登录成功页面

登录失败页面

注意:登录失败时,也可以重定向在原先的登录页面

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。