走入asp.net mvc不归路:[8]说说视图
1、视图一般是cshtml为后缀的文件,集中保存在根目录View文件夹下;每个控制器会对应一个视图文件夹,还有一些公用的文件夹如Shared文件夹,放在里面的视图文件,在其他地方不需要指定路径就可以访问得到
2、视图分为完整视图和分部视图,完整视图就是具有模板的页面,一般会有一个模板,最终生成的效果就相当于一个完整的html页面;分部视图就是模板为空的视图,一般用在其他诒仓鋈烧视图中,作为其他页面的一部分,前缀一般会增加一个下划线,以示区分
3、一般来说,完整视图,可以指定一个模板,不指定的话,就使用默认模板(一般位于/Views/Shared/_Layout.cshtml的文件);其中图中标示代码可以不写,效果等同
4、分部视图的文件名称有前缀下划线,即默认为不指定模板;图示显示写明了不显示模板,代码去掉效果等同
5、不同是普通视图还是分部视图,都可以绑定一个Model,绑定之后,可以编写强类型代码或者绑定元素(如标签,文本框,下拉框等);掬研疔缎图示列表绑定了集合类型,可以作循环,代码编写风格与C#一致,可以使用if,else,for,foreach等控制结构
6、还能将字段绑定到元玟姑岭箫素中;示例为修改域名记录的代码,第9行声明了一个form,第10行汇总错误提示信息,第12行使用了fieldset标记,第15行声明了一个hidden,并且绑定了id的值,也就是说当前修改的这条记录的编号会保存到这个hidden的value中;第18行声明了一个label,这个label的for属性值为Name,并且标签内的值为字段名,此处为英文"Name",这也是数据库使用的列名是英文使然,asp.net mvc还是允许我们自己添加别名,如"名称"的,现在暂时不作介绍;第21行,使用了EditorFor(),这个方法会自动选择一个元素,可能是txtbox,也可能是checkbox或者select,总之比较奇妙,会自动选择一个最佳的元素类型;第22行则绑定了一个显示错误的地方,当这个字段出现验证性错误时(如必填时未填,点击提交后),经验错误,提示会显示在这里
7、可以为视图指定一个标题,直接修改ViewBag.Title就可以了;如果你需要进行SEO,那么还可以改变模板,使之可以支持诸如ViewBag.Keyword或ViewBag.Description等操作
8、还可以引入命名空间,或者进行C#代码运算,甚至进行数据库运算,前提是使用@{}包起来
9、最后讲一个链接,其实两种写法是等效的
10、好了,视图就介绍到这里,祝您学习愉快!