• 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 
    View Code

    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         }
    View Code

    image

    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         }
    View Code

    PersonViewModel类:

      1 public class PersonViewModel
      2     {
      3         public string Name { get; set; }
      4 
      5         public int Age { get; set; }
      6     }
    View Code

    image

    image

  • 相关阅读:
    父亲的心
    英美主要报刊杂志网站整合【更新订正版】
    【更新】免费下载百度文库文档
    About Pull Strings 英语走后门议论文
    实验室安全事故读后感
    WorldWind上风羽线的显示
    传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确
    DevExpress的Web控件汉化方法
    安装rails卡住很慢 出现302 Moved Temporarily
    MSCRM4 在过滤后的LOOKUP框中实现查找
  • 原文地址:https://www.cnblogs.com/M-LittleBird/p/5855973.html
Copyright © 2020-2023  润新知