zoukankan      html  css  js  c++  java
  • asp.net mvc里的母版页和自定义控件

        (1)母版页

        在mvc 样例程序LogOn.cshtml 里没有看到<html></html>这样的标记,我猜他有类似于webform里母版页的东东,最后发现在Views目录下,有一个_ViewStart.cshtml 文件,有一句代码:

    @{
        Layout = "~/Views/Shared/_Layout.cshtml";
    }
    

      这段代码用来指定母版页的。

      logOn.cshtml 的代码里没看到指定母版页的语句,那么它估计是调用了_ViewStart.cshtml,什么时候调用的,不清楚,大概asp.net mvc默认的吧。

    而在_Layout.cshtml 里:

    <div id="main">
    @RenderBody()
    </div>
    

      @RenderBody 估计是显示LogOn.cshtml 等页面内容的吧。

      (2) 用户控件

      在_Layout.cshtml 里发现了这么一句:

      @Html.Partial("_LogOnPartial")

      Html.Patial 的含义:  Renders the specified partial view as an HTML-encoded string.渲染部分视图,想来就是用户控件了。

      还有另外一种写法:

       @{Html.RenderPartial("_LogOnPartial");}

       看起来上面的简单好写,不过两者还是有区别滴。

     Partial输出到临时变量StringWriter ;RenderPartial输出到HtmlHelper.ViewContext.Writer上(即直接输出到Response)。

        _Layout.cshtml _LogOnPartial.cshtml 都放在Views/Shared 目录下,于是乎,我明白了,shared目录是干嘛的。

    好,明白了,asp.net mvc 里母版页和用户控件怎么写,怎么调用啦。

       

  • 相关阅读:
    pku 1330 LCA
    最近公共祖先(LCA)的Tarjan算法
    字典数模板
    字典树
    RMQ问题ST算法与模板
    RMQ(Range Minimum/Maximum Query)问题:
    罗穗骞的dc3和倍增法
    多重背包问题
    tarjan LCA 算法
    终极工程师的造诣 – 不迷信高科技的乔布斯给我们的启示
  • 原文地址:https://www.cnblogs.com/xinchuang/p/3065135.html
Copyright © 2011-2022 走看看