ASP.NET MVC post请求接收参数的三种方式
1.在控制器中建立一个PostDemo方法,建立视图创建一个表单

1 <h2>PostDemo</h2> 2 name的值:@ViewBag.name 3 <br /> 4 name2的值:@ViewBag.name2 5 <form action="/RequestDemo/PostDemo" method="post"> 6 <input type="text" id="name" name="name"/> 7 <input type="submit" value="提交"/> 8 </form> 9 实体方式提交: 10 <form action="/RequestDemo/PostDemomodel" method="post"> 11 <input type="text" id="name" name="name" /> 12 <input type="submit" value="提交" /> 13 </form> 14
2.然后建立一个和PostDemo方法同名的方法,标记为httpPost请求,参数为FormCollection类型,表示是获取提交保单所有的数据

1 //默认为Get方法请求 2 public ActionResult PostDemo() 3 { 4 return View(); 5 } 6 //标记为Post方式请求,改方法就只能接受post方法请求 7 [HttpPost] 8 public ActionResult PostDemo(FormCollection form) 9 { 10 //第一种获取提交表单的方式 11 string name = Request.Form["name"]; 12 ViewBag.name = name; 13 //第二种获取提交表单的方式 14 string name2 = form["name"]; 15 ViewBag.name2 = name2; 16 return View(); 17 }
3.第三种写法是使用一个类来接收数据,同样也要标记HttpPost,这里是MVC自动把表单中名称跟PersonViewModel类中同名的属性复制,注意必须:前台提交的input标签中的text元素名是name和PersonViewModel类的属性名称相同。

1 [HttpPost] 2 public ActionResult PostDemomodel(PersonViewModel model) 3 { 4 //使用model方式提交 5 string name = model.Name; 6 ViewBag.name = name; 7 8 return View("PostDemo"); 9 }
PersonViewModel类:

1 public class PersonViewModel 2 { 3 public string Name { get; set; } 4 5 public int Age { get; set; } 6 }
标签:
ASP.NET MVC
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?