MVCController接受View值得几种方法

MVC 中Form提交的数据是根据控件中的 name来区分的,当同一个name被多个控件使用时,这几个控件的值将会以逗号的形式出现例如:

HTML

<td>
            <input type="text" name="FirstName" value="wang" />
        </td>
        <td>
            <input type="text" name="FirstName" value="chong"/>
        </td>
        <td>

提交的数据就是



第一种: Request.Form["{name}"]  与 FormCollection["{name}"]

[HttpPost]
        public ActionResult Index(FormCollection form)
        {}

public ActionResult Index(FormCollection form)
        {
            string name = Request.Form["FristName"];
}

这两种方法都是直接从post的表单中获取值。

第三种:在控制器中指定public ActionResult Index(string {name1},string {name2})

public ActionResult Index(string FristName,string LastName)
        {}

这种方法实际上也是从post表单中获取,但是不同的地方在于,会对数据进行自动校验,省去了数据转换的麻烦。

第四种:在控制器中指定public ActionResult Index({自定义复杂类型} list)

        [HttpPost]
        public ActionResult Index(List<Models.PersonModel> list)
        {

            return View(list);
        }
这种是接受复杂类型的,其实实际上也是从post表单中获取。

PersonModel.cs

public class PersonModel
    {
        [DisplayName("名")]
        /// <summary>
        /// 名
        /// </summary>
        public string FristName { get; set; }

        [DisplayName("姓")]
        /// <summary>
        /// 姓
        /// </summary>
        public string LastName { get; set; }

        [DisplayName("偏光度")]
        /// <summary>
        /// 偏光度
        /// </summary>
        public string[] DegreeOfPolarization{get;set;}
    }

HTML代码

<td>
            <input type="text" name="list[0].FristName" value="wang" />
            <input type="text" name="list[0].LastName" value="wang" />
            <input type="text" name="list[0].DegreeOfPolarization[0]" value="4.4" />
            <input type="text" name="list[0].DegreeOfPolarization[1]" value="4.5" />

        </td>
        <td>
            <input type="text" name="list[1].FristName" value="chong" />
            <input type="text" name="list[1].LastName" value="wang" />
            <input type="text" name="list[1].DegreeOfPolarization[0]" value="4.1" />
            <input type="text" name="list[1].DegreeOfPolarization[1]" value="4.2" />
        </td>



post提交表单






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值