MVC布局页:
@RenderBody() 占位符 将来会被使用此布局的子页面内容覆盖掉 只能在layout中出现一次
@Style.Render(); @Script.Render(); 获取Bundle中的样式和js文件 根据虚拟路径找到该虚拟路径下注册好的所有物理文件响应给浏览器 使用原因:减少http请求 自动压缩js和css的大小 方便程序员调用
分部视图:
分部视图是什么? 类似于asp.net webform(aspx)中的自定义控件.ascx
作用:可以将相同的逻辑块写到分部视图中,供其他视图来使用
引用:
@Html.RenderAction(PartialView,controller )
@RenderSection(“script”,required:false) 表示script可以在子类中重写 也就是说有此占位符才可以在子类写js。RenderSection 所定义的标签,可以被子页面重写,如果required设置成true,则必须子页面重写,如果是false可以不重写也可以重写 在cshtml视图上,如果将视图变成一个List的强类型视图,那么在使用@Html.DisplayNameFor(a=>a.GroupId)会报错,这是因为Razor视图经过编译发现List是一个具体的class所以a就推断成List,可以通过将List改成IEnumerable来解决 html控件: @Html.ActionLink("跳转","About","Home",new { word ="a"},new { @class="aa",@id="abc"})
相当于:<aclass="aa" href="/Home/About?word=a" id="abc">跳转