
视图与控制器之间的数据传递.ppt
12页视图与控制器之间的数据传递从视图到控制器的数据传递• 利用Request.Querystring、Request.Form、 Request来接受 • 利用FormCollection • 表单控件、查询字符串、Cookie值同名参数 传递 • 表单控件、查询字符串、Cookie值同名属性 传递 • 利用UpdateModel从视图到控制器的数据传递• 使用Bind属性限制传递 public ActionResult viewToController([Bind(Include=“Myname,Mysex”)] student std) 或者public ActionResult viewToController([Bind(Exclude = “Myage“)] student std)也可以在整个模型类前面添加 [Bind(Include=“Myname,Mysex“)]从控制器到视图的数据传递• 弱类型传递(在控制器中的代码): ØViewData ViewData[“themsg”] ØViewBag ViewBag.themsg ØTempData 只能读取一次,较少使用从控制器到视图的数据传递• 弱类型传递(在视图中的代码): Østring str=ViewData[“themsg”] as string; Østring str=ViewBag.themsgas string; ØHtml.TextBox(“themsg”)从控制器到的视图数据传递• 强类型传递(在控制器中的代码) ØViewData.Model ViewData.Model = ui;ØReturn View(ui);从控制器到的视图数据传递• 强类型传递(在视图中的代码) ØASPX视图: “ %>ØRAZOR视图: @model Mvc1234Demo.Models.userInfo @Model.Age从控制器到的视图数据传递• 弱类型与强类型的区别: 简单通俗来说,弱类型没有严格的数据 类型检查,使用前要强制转换为相应 的数据类型,如果有键名拼写错误编 译不会报错;而强类型有严格数据类 型检查,一般可以见”.属性名”使用.从控制器到的视图数据传递• checkbox控件的数据传递(从控制器 到视图)ViewData[“isLike”] =true;//选中状态从控制器到的视图数据传递• radio控件的数据传递(从控制器到视图 )ViewData[“mysex”] = “0”;//选中女从控制器到的视图数据传递• 下拉列表和列表框控件的数据传递(从控 制器到视图) Ø建立IEnumerable并在其中 指定默认选中项。
Ø建立IEnumerable,在单独 的ViewData项或view model的属性中指定 默认选中项 Ø使用SelectList小结 & 问题讨论孔子说说:“学而不思则则罔,思而不学则则殆。
