亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Asp.net Mvc 中的模型綁定

2019-11-17 01:53:36
字體:
來源:轉載
供稿:網友

asp.net Mvc 中的模型綁定

asp.net mvc中的模型綁定可以在提交http請求的時候,進行數據的映射。

1.沒有模型綁定的時候

 1 public ActionResult Example0() 2 { 3     if (Request.Form.Count > 0) 4     { 5         string id = Request.Form["Id"]; 6         string fname =Request.Form["FirstName"]; 7         string lname = Request.Form["LastName"]; 8         ViewBag.StatusMessage = "Employee data received successfully for ID " + id  + "!"; 9     }10     return View();11 }

2.簡單綁定數據

1 [HttpPost]2 public ActionResult Example1(string id, string firstname, string lastname)3 {4     ViewBag.StatusMessage = "Employee data received successfully for ID " + id + "!";5     return View();6 }

頁面內容

 1 <tr> 2 ... 3   <td> 4     <input name="Id" type="text" /> 5   </td> 6 </tr> 7 <tr> 8 ... 9   <td>10      <input name="FirstName" type="text" />11   </td>12 </tr>13 <tr>14 ...15   <td>16      <input name="LastName" type="text" />17   </td>18 </tr>

3.綁定一個類類型

1 [HttpPost]2 public ActionResult Example2(Employee emp)3 {4    ViewBag.StatusMessage = "Employee data received successfully for ID " + emp.Id + "!";5    return View();6 }

類如下:

1 public class Employee2 {3     public string Id { get; set; }4     public string FirstName { get; set; }5     public string LastName { get; set; }6 }

4.綁定一個類的屬性

1 [HttpPost]2 public ActionResult Example3(Employee emp)3 {4    ViewBag.StatusMessage = "Employee data received successfully for ID " + emp.Id + "!";5    return View();6 }

類如下:

1 public class Employee2 {3     public string Id { get; set; }4     public string FirstName { get; set; }5     public string LastName { get; set; }6     public Address HomeAddress { get; set; }7 }
1 public class Address2 {3     public string Street { get; set; }4     public string Country { get; set; }5     public string PostalCode { get; set; }6 }

頁面內容:

 1 <tr> 2 ... 3 <td> 4    <input name="HomeAddress.Street" type="text" /></td> 5 </tr> 6 ... 7 <td> 8    <input name="HomeAddress.Country" type="text" /></td> 9 </tr>10 ...11 <td>12    <input name="HomeAddress.PostalCode" type="text" /></td>13 </tr>

5.綁定簡單類型的集合

1 [HttpPost]2 public ActionResult Example4(IList<string> id, IList<string> name)3 {4     ViewBag.StatusMessage = "Employee data received successfully for " + id.Count + " records!";5     return View();6 }

頁面內容:

 1 ... 2 <tr> 3   <td align="right" nowrap="nowrap" width="15%"> 4     <input name="id" type="text" size="20" /></td> 5   <td> 6     <input name="name" type="text" /> 7   </td> 8 </tr> 9 <tr>10   <td align="right" nowrap="nowrap" width="15%">11     <input name="id" type="text" size="20" />12   </td>13   <td>14     <input name="name" type="text" />15   </td>16 </tr>17 <tr>18   <td align="right" nowrap="nowrap" width="15%">19     <input name="id" type="text" />20   </td>21   <td>22     <input name="name" type="text" />23   </td>24 </tr>25 ...

6.綁定一個類的集合

1 [HttpPost]2 public ActionResult Example5(IList<Employee> employees)3 {4     ViewBag.StatusMessage = "Employee data received successfully for " + employees.Count + " records!";5     return View();6 }

頁面內容:

 1 ... 2         <tr> 3             <td align="right" nowrap="nowrap" width="15%"> 4                 <input name="[0].id" type="text" size="20" /> 5             </td> 6             <td> 7                 <input name="[0].FirstName" type="text" /> 8             </td> 9             <td>10                 <input name="[0].LastName" type="text" />11             </td>12         </tr>13         <tr>14             <td align="right" nowrap="nowrap" width="15%">15                 <input name="[1].id" type="text" size="20" />16             </td>17             <td>18                 <input name="[1].FirstName" type="text" />19             </td>20             <td>21                 <input name="[1].LastName" type="text" />22             </td>23         </tr>24 25 ...

注意索引是從0開始,中間不間斷

如果,遇到有動態的Add和Delete功能,則索引不好去設置,可以使用下面的方法:

添加一個隱藏控件,控件名稱后綴為.Index

Controller不變,頁面內容更改為:

 1 ... 2 <tr> 3     <td align="right" nowrap="nowrap" width="15%"> 4         <input  type="hidden" name="employees.Index" value="100" /> 5         <input name="employees[100].id" type="text" size="20" /> 6     </td> 7     <td> 8         <input name="employees[100].FirstName" type="text" /> 9     </td>10     <td>11         <input name="employees[100].LastName" type="text" />12     </td>13 </tr>14 <tr>15     <td align="right" nowrap="nowrap" width="15%">16         <input  type="hidden" name="employees.Index" value="ccc" />17         <input name="employees[ccc].id" type="text" size="20" />18     </td>19     <td>20         <input name="employees[ccc].FirstName" type="text" />21     </td>22     <td>23         <input name="employees[ccc].LastName" type="text" />24     </td>25 </tr>26 ...

7.可自定義模型

1 [HttpPost]2 public ActionResult Example6([ModelBinder(typeof(EmployeeBinder1))]Employee employee)3 {4     ViewBag.StatusMessage = "Employee data received successfully for " + employee.Id + "!";5     return View();6 }

綁定方法:

 1 public class EmployeeBinder1:IModelBinder 2 { 3     public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) 4     { 5         Employee emp = new Employee(); 6         emp.Id = "E" + controllerContext.HttpContext.Request.Form["Id"]; 7         emp.FirstName = controllerContext.HttpContext.Request.Form["FirstName"]; 8         emp.LastName = controllerContext.HttpContext.Request.Form["LastName"]; 9          emp.BirthDate = new DateTime(int.Parse(controllerContext.HttpContext.Request.Form["year"]), 10             int.Parse(controllerContext.HttpContext.Request.Form["month"]), 11             int.Parse(controllerContext.HttpContext.Request.Form["day"]));12         return emp;13     }14 }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲 日韩 国产第一| 97在线视频免费播放| 中文字幕av日韩| 欧美日韩在线视频观看| 欧美激情xxxx性bbbb| 亚洲女人天堂网| 亚洲第一页在线| 欧美视频专区一二在线观看| 成人a在线观看| 亚洲最新中文字幕| 欧美精品videosex极品1| 欧美二区在线播放| 在线电影欧美日韩一区二区私密| 国产91热爆ts人妖在线| 亚洲一区二区在线播放| 色婷婷亚洲mv天堂mv在影片| 国产精品一二三在线| 国产精品露脸自拍| 国产精品视频一区二区高潮| 国产手机视频精品| 疯狂做受xxxx高潮欧美日本| 亚洲欧洲偷拍精品| 国产精品日韩在线| 亚洲国产古装精品网站| 久久久久久久成人| 日韩中文字幕网站| 亚洲片在线资源| 日韩成人小视频| 国产美女精彩久久| 91日本在线视频| 中文字幕亚洲欧美在线| 中文综合在线观看| 国产综合在线视频| 成人黄色免费片| 国产91在线视频| 亚洲国产天堂久久国产91| 美女撒尿一区二区三区| www.亚洲一区| 亚洲无限乱码一二三四麻| 久久久久久中文字幕| 亚洲视频网站在线观看| 在线视频欧美日韩精品| 亚洲iv一区二区三区| 欧美成人网在线| 国产成人一区二区| 97免费中文视频在线观看| 国产精品电影在线观看| 91精品国产九九九久久久亚洲| 国产视频精品xxxx| 国产成人一区二区在线| 中文字幕综合一区| 国内精品400部情侣激情| 欧美精品999| 欧美成人全部免费| 成人黄色片在线| 97在线视频国产| 成人在线激情视频| 中文字幕亚洲二区| 国产欧美韩国高清| 日韩视频在线免费观看| 精品爽片免费看久久| 在线观看亚洲区| 久久av红桃一区二区小说| 96精品久久久久中文字幕| 中文字幕亚洲一区在线观看| 欧美午夜精品久久久久久浪潮| 日韩精品视频在线| 亚洲欧美综合图区| 亚洲**2019国产| 永久免费看mv网站入口亚洲| 成人久久一区二区| 日韩中文字幕免费看| 国产精品a久久久久久| 成人免费视频97| 国内精品久久久久影院 日本资源| 国产va免费精品高清在线观看| 川上优av一区二区线观看| 亚洲最大中文字幕| 亚洲欧美资源在线| 日韩欧美精品在线观看| 78m国产成人精品视频| 国产精品十八以下禁看| 精品久久久91| 日韩成人小视频| 亚洲国产日韩一区| 亚洲欧美精品伊人久久| 亚洲国产精彩中文乱码av在线播放| 欧美激情精品久久久久久蜜臀| 欧美限制级电影在线观看| 国产精品免费一区二区三区都可以| 亚洲字幕一区二区| 亚洲天堂色网站| 亚洲欧美另类国产| 操91在线视频| 国产精品网站大全| 丁香五六月婷婷久久激情| 狠狠操狠狠色综合网| 亚洲欧美激情另类校园| 色一情一乱一区二区| 亚洲最大中文字幕| 久久亚洲精品小早川怜子66| 亚洲国产日韩一区| 午夜精品一区二区三区av| 亚洲综合小说区| 亚洲偷欧美偷国内偷| 亚洲精品美女在线| 18久久久久久| 国产精品吊钟奶在线| 97精品国产97久久久久久春色| 久久久91精品国产| 国产精品亚洲аv天堂网| 日韩av最新在线| 色哟哟入口国产精品| 另类少妇人与禽zozz0性伦| 国产午夜精品免费一区二区三区| 国产精品爱久久久久久久| 136fldh精品导航福利| 国产经典一区二区| 日韩专区中文字幕| 亚洲欧美日韩精品久久奇米色影视| 欧美精品在线网站| 久久精品久久精品亚洲人| 久久久亚洲国产| 欧美大片大片在线播放| 精品人伦一区二区三区蜜桃免费| 国产精品丝袜视频| 国产欧美一区二区三区久久| 美日韩丰满少妇在线观看| 一区二区三区四区精品| 91精品国产乱码久久久久久蜜臀| 欧美一区二区三区……| 亚洲国产天堂久久综合| 97久久久久久| 欧美激情日韩图片| 中文字幕日韩精品在线| 亚洲天堂视频在线观看| 欧美性视频精品| 国产精品99久久久久久久久久久久| 欧美激情一区二区三级高清视频| 亚洲国产成人精品久久久国产成人一区| 国产一级揄自揄精品视频| 情事1991在线| 黄色一区二区在线观看| 综合欧美国产视频二区| 亚洲自拍偷拍在线| www.亚洲男人天堂| 精品久久久久久久中文字幕| 亚洲精品视频网上网址在线观看| 伊人亚洲福利一区二区三区| 久久久噜噜噜久久久| 青青精品视频播放| 日韩经典一区二区三区| 亚洲福利精品在线| 成人国内精品久久久久一区| 亚洲国产成人一区| 国产成人在线精品| 韩剧1988在线观看免费完整版| 在线观看亚洲视频| 国产精品中文字幕久久久| 欧美午夜电影在线| 热99在线视频| 在线精品播放av| 尤物九九久久国产精品的分类| 亚洲午夜久久久影院|