欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

asp.net mvc里的母版页和自定义控件

程序员文章站 2022-04-06 17:38:12
...

    (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 里母版页和用户控件怎么写,怎么调用啦。

   

转载于:https://www.cnblogs.com/xinchuang/archive/2013/05/07/3065135.html