《aspnet实战视频教程3表单及基本验证》由会员分享,可在线阅读,更多相关《aspnet实战视频教程3表单及基本验证(26页珍藏版)》请在金锄头文库上搜索。
1、BF-TECH 4.0 DNET 软件开发工程软件开发工程师高薪就业品牌课程师高薪就业品牌课程版权所有:北风网1ASP.NET 4.5 MVC 开发实战教程讲师:石曼迪2第三章:表单及基本验证第三章:表单及基本验证3目录目录构建表单处理表单4构建表单构建表单ASP.NETMVC虽然鼓励我们手写HTML代码,但是同时也还是提供了很多Hellper的方法,Hellper就是一些生成HTML代码的方法,方便我们书写HTML代码。如:Html.LabelForHtml.TextBoxForHtml.PasswordFor5构建表单构建表单ASP.NETMVC虽然鼓励我们手写HTML代码,但是同时也还是
2、提供了很多Hellper的方法,Hellper就是一些生成HTML代码的方法,方便我们书写HTML代码。如:Html.LabelForHtml.TextBoxForHtml.PasswordFor6构建表单:构建表单:ActionLink&RouteLink Html.ActionLink(连接,Index,Home)ActionLink中的三个参数分别为:显示的文字,Action,Controller1.Html.ActionLink(连接,Index,Home,newpage=1,null)2.Html.ActionLink(连接,Index,newpage=1)3.Html.Action
3、Link(连接,Index,Home,newid=link1)4.Html.ActionLink(连接,Index,null,newid=link1)5.Html.ActionLink(连接,Index,Home,newpage=1,newid=link1)6.Html.ActionLink(连接,Index,newpage=1,newid=link1)1.连接2.连接3.连接4.连接5.连接6.连接注意,如果连接中不涉及到action及controller就没有必要使用ActionLink,而是直接写HTML代码就可以了。例如:一章7构建表单:构建表单:ActionLink&RouteLin
4、k 如何给Html.ActionLink添加删除确认?Html.ActionLink(删除,Delete,newid=item.Id,newonclick=returnconfirm(确认删除?)删除8构建表单:构建表单:Form using(Html.BeginForm()Html.BeginForm(index,home,FormMethod.Post)Html.EndForm()生成结果:9构建表单:构建表单:Form 在一个FORM中有两个或多个submit按钮(比如一个登录按钮,一个注册按钮当post出去后,在controller如何区分是那个按钮被按下?if(collectionS
5、ubmitToDB!=null)/点了loginif(collectionUpload!=null)/点了reg10构建表单:构建表单:TextBox&Hidden&Label 文本输入框和隐藏域Html.TextBox(input1)Html.TextBox(input2,Model.CategoryName,newstyle=width:300px;)Html.TextBox(input3,ViewDataName,newstyle=width:300px;)Html.TextBoxFor(a=a.CategoryName,newstyle=width:300px;)Html.Hidden
6、(hideTag,hideValue)11构建表单:构建表单:TextArea多行文本框Html.TextArea(input5,Model.CategoryName,3,9,null)Html.TextAreaFor(a=a.CategoryName,3,3,null)BeveragesBeverages12构建表单:构建表单:CheckBox复选框Html.CheckBox(chk1,true)Html.CheckBox(chk1,newclass=checkBox)Html.CheckBoxFor(a=a.IsVaild,newclass=checkBox)13构建表单:构建表单:Che
7、ckBox怎么获取前端selected的值using(Html.BeginForm()foreach(MembershipUseruserinModel.Users)user.UserNamepublicActionResultIndex(stringcheckedUsers)/这里自动获取选中的checkedUsersforeach(GuididincheckedUsers)DeleteUser(id);.14构建表单:构建表单:DropDownList怎么获取前端selected的值Html.DropDownList(ddl1,(SelectList)ViewDataCategories,
8、-SelectOne-)Html.DropDownList(Categories)modelMvcApplication1.Models.LoginModelHtml.DropDownListFor(m=m.UserName,(SelectList)ViewDataCategories2,-SelectOne-,newclass=dropdownlist)Dictionarystrss=newDictionary();strss.Add(2,China);strss.Add(5,DE);strss.Add(7,US);ViewBag.jihes=strss;ViewDataCategories
9、=newSelectList(strss,Key,Value);Listlogins=newListnewLoginModelPassword=123456,RememberMe=true,UserName=admin,newLoginModelPassword=123456,RememberMe=true,UserName=admin;ViewDataCategories2=newSelectList(logins,Password,UserName);15构建表单:构建表单:DropDownList-SelectOne-ChinaDEUSChinaDEUS-SelectOne-admina
10、dmin16构建表单:构建表单:RadioButtonHtml.RadioButton(名称,值,是否选中)如:组一:Html.RadioButton(name,男,true)Html.RadioButton(name,女)组二:Html.RadioButton(name2,1,true)Html.RadioButton(name2,2)Html.RadioButton(name2,3)17构建表单进阶构建表单进阶创建特性定制元数据创建特性定制元数据18构建表单进阶构建表单进阶实现IMetadataAware接口的特性定制Model元数据如果需要处理本地化资源,比如多语言,一般推荐使用资源文件
11、方式。实现步骤:1.定义接口IMetadataAware实现类DisplayTextAttribute ,再定义DisplayName和ResourceType冰实现接口方法。2.新建资源文件。3.添加DisplayText特性 * 用到一部分预定义模板19构建表单高级构建表单高级自定义模板步骤:自定义模板步骤:1.在在Views/Shared/EditorTemplates下新建一个名为下新建一个名为Boolean.cshtml的分部视图的分部视图2. 然后返回该自定义对象然后返回该自定义对象3.启用模型编辑模式启用模型编辑模式20构建表单高级构建表单高级举例:复杂自定义模板将枚举以下拉框的
12、形式显示21处理表单处理表单Html.LabelFor(m=m.UserName)Html.TextBoxFor(m=m.UserName)Html.CheckBoxFor(m=m.RememberMe)publicActionResultLogin(LoginModelmodel)Request.Formname;publicActionResultLogin(FormCollectionformCollection)用户名密码记住我?22使用建议使用建议View负责输出数据而非样式(尽量用helper,不要写html代码)由于测试困难,尽量少在View中写代码ReturnView(“View的名字”),如果不指定名字则返回与Controller同名的ViewReturnView(/url路径),指定返回路径23现场编程现场编程完成一个基本登录/注册功能包含基本权限验证基本数据库访问24总结总结构建表单处理表单25欢迎访问我们的官方网站26