mvc随笔
创建mvc项目
http管道流:
创建一个类,该类继承自ihttpmodule可用于防止sql注入漏洞
web.config页面:
<system.webServer>
<modules>
<add name="mymodule" type="WebApplication2.mymodule,WebApplication2"/>
</modules>
<handlers>
<add name="myhander" path="*.jpg" verb="*" type="WebApplication2.myhandler,WebApplication2"/>
</handlers>
</system.webServer>
创建一个类,该类继承自ihttphandler可用于图片防盗链
同理如上;
routeconfig的应用:
开始运行获取开始的页面;
创建控制台(可以在此处创建可以返回的model),获取新的视图;
viewstart最先开始运行的页面,可以对应相应的是否应用该页面;
ashtml的语法:@{}。@~~;获取model写相关的程序
【
创建form表单 @html。beginfrom
创建textbox @html。textbox()
@{ html。textboxfor(m=>m.方法【可以直接创建带有value的box表格】)管道流创建 }
acction rebderaction 通过调用子查询显示信息,在partialview前边添加【childactiononly】限制只能用子查询
paitial renderpartial 前者可以添加业务逻辑,后者不可以
例@Html.Partial("login",new {id=100});
可以再logi获得相应的id login(int?id)
反正我没发现有啥用?????】
valueprovider:
主要讲述如何获取外界的【【action】】参数:包含许多已经封装好的方法
其中利用valueprovider调用ievalueprovider接口;
通过getvalue()方法获取参数值
可以通过converto(typeof(属性))来获取得到的参数
viewdata:
相当于创建一行数据在执行页面显示出来;
tempdata 只能读取一次,第二次会吧seesion数据移除;可以作为一个临时变量使用
deafultmodelbinder
通过接口进行模型绑定;
mvc中可以直接获取浏览器地址上的数据,
可以分为简单:
在index(string id)前台上@model WebApplication4.Controllers.Student
就可以直接获得;
复杂:
index(student stu)
会默认产生一个集合,然后系统通过递归【系统处理的无需自己敲】的方式分解成简单的数据然后绑定
DataAnnotationModel
《1》 Required 必填
《2》 StringLength 判断数据长度
《3》 Compare 新密码和老密码的对比。
《4》 RegularExpression 正则的匹配
《5》 Phone 验证手机号码
《6》 Range 验证范围
《7》 MaxLength 数组或者string的最大长度
《8》 Remote 远程验证,jquery插件支持。
mvc封装好的方法,可以直接使用,但是不能够和数据库的数据作比较只能单一的判断服务器端的数据,其中modelstate.isvalid的方法可以返回一个bool类型的值可以用于判断是否实现