ASP.NET MVC postリクエスト受信パラメータの3つの方式

5140 ワード

1、ビューコード:
        

1

name :@ViewBag.Name
age :@ViewBag.Age

2

name2 :@ViewData["Name1"]
age2 :@ViewData["Age1"]

3

name3 :@ViewData["Name2"]
age3 :@ViewData["Age2"]
"/Perpon/Add"method="post">
"text"name="Name"/>
"text"name="Age"/>
「submit」value=「コミット」/>
"/Perpon/Add2"method="post">
"text"name="Name"/>
"text"name="Age"/>
「submit」value=「コミット」/>
"/Perpon/Add3"method="post">
"text"name="Name"/>
"text"name="Age"/>
「submit」value=「コミット」/>
2、コントローラコード
        [HttpPost]
        public ActionResult Add()
        {
            //     
            ViewBag.Name = Request["Name"];
            ViewBag.Age = Request["Age"];
            return View();
        }

        [HttpPost]
        public ActionResult Add2(FormCollection form)
        {
            //      FormCollection
            ViewData["Name1"] = Request.Form["Name"];
            ViewData["Age1"] = form["Age"];
            return View("Add");
        }

        [HttpPost]
        public ActionResult Add3(Perpon perpon)
        {
            //  Model     
            ViewBag.Name2 = perpon.Name;
            ViewBag.Age2 = perpon.Age;
   ViewBag.Other = Form["Other"];
return View("Add"); }

3、Perponクラス(Modelクラスを使用して提出)
public class Perpon
{
    public string Name { get; set; }
    public int Age { get; set; }
}

4、注意
一.httpPostリクエストとしてマーク
二、第一の方式、普通の受信方式
三、第二の方法で、パラメータはFormCollectionタイプで、保証書を提出したすべてのデータを取得することを表す.
四、第三の方法は1つのクラスを使用してデータを受信することであり、同様にHttpPostもマークしなければならない.ここではMVCがフォームの名前をPersonクラスの同名の属性と自動的にコピーする.注意しなければならない:フロントに提出されたinputラベルのtext要素名はnameとPersonクラスの属性名と同じである.
転載先:https://www.cnblogs.com/gygtech/p/8662152.html