zoukankan      html  css  js  c++  java
  • 使用HTML辅助方法载入分部视图

    在webform中我们用过user control可以减少重复代码也利于将页面模组化,

    在mvc中 叫分部视图 Partial View.
     
    也就是一个片段的view.可以利用Partial view 把这部分的html或显示逻辑包装起来,方便重复引用,当建立出来的分部视图放置于Views/Shared目录,任何控制器下的action或者view都可以载入,共用的分部视图放在shared文件下。
    如何建立?
    与建立view的步骤一样,只是选择 添加--视图之后 要勾选上”创建为分部视图“(只要勾选上,所建立的检视页面将不会有任何预设内容弄,这时我们试图在这个分部视图页面加上html片段来显示)
     
    注意:使用分布视图不一定需要建立相关的action,因为它仅仅是片段的html,且调用时,也不会调用action来执行。
     
    如何载入?
    html辅助方法拥有一个专门的扩充方法来载入分部视图,成为Partial,可以在view中直接将分部视图的执行结果取回。
    Partial(HTMLHelper,String)
    Partial(HTMLHelper,String,Object)
    Partial(HTMLHelper,String,ViewDataDictionary)
    Partial(HTMLHelper,String,Object,ViewDataDictionary)
    -----
    Html.Partial("ajaxPage")
    Html.Partial("ajaxPage",Model)
    Html.Partial("ajaxPage",null,ViewData["Model"])
    Html.Partial("ajaxPage",Model,null,ViewData["Model"])
     
     
     
     
     
     
    从控制器载入分部视图
     分部视图除了可以直接从检视页面载入后,还可以像检视页面一样
     
    从控制器中使用,比如Return PartialView()
    这种方式与view辅助方法唯一的差别在于它不会套用于主版页面。
     
     
     
     
    使用Html.Action辅助方法载入分部视图
    除了在检视页面里使用Partial载入分部视图外,在mvc中还可以使
     
    用Html.Action辅助方法载入另一个Action的执行结果。
    eg:
    public ActionResult  aaa(){
    return PartialView();
    }
    然后可以在检视页面利用Html.Action来载入这个Action的执行结果
     
    @Html.Action("aaa")
     
    差别:
    @Html.Partial载入分部视图是通过HtmlHelper直接读取*.cshtml文
     
    件,直接执行该检视并取得结果,若使用Html.Action的话,则会通
     
    过HtmlHelper对IIS再进行一次处理要求(通过Server.Execute方法
     
    ),因此html.action会重新执行一遍Controller的生命周期。
     
     
     
     
    @Html.DisplayNameFor(model => model.Email)
    仅仅输出单纯的文字,完全没有额外的标签,而且输出的显示文字
     
    是在Member数据模型中各栏位的DisplayName属性(Attributes)参
     
    数值,如果没有定义DisplayName属性的参数值的话,预设就会输出
     
    属性名称。
     
     
    @Html.DisplayFor(model => model.Email)
    是个模板辅助方法,专门用来输出显示模板,发现大部分栏位都直
     
    接输出数据模型传入的值(没有额外的HTML标签),但有个特别的
     
    栏位不太一样,那就是Email这个栏位输出,因为这个栏位的输出竟
     
    然是一个含有超链接的Email地址。
     
     
     
     
     
    自定义HTML辅助方法。
  • 相关阅读:
    【Vue】源码——编译过程
    FreeRADIUS 、DaloRADIUS 搭建记录
    docker 学习笔记
    wget 技巧
    Centos 部署Cobbler系统
    Cloudstack 安装记录
    利用Google GCM发送push通知到Android客户端
    利用ApnsPHP包向IOS推送消息
    Linux下SCP的使用
    Android Google购买PHP服务器端验证(订阅购买和一次性购买)
  • 原文地址:https://www.cnblogs.com/jinhaoObject/p/4597695.html
Copyright © 2011-2022 走看看