• @RenderPage用法


    @RenderPage
    从名称可以猜出来这个方法是要呈现一个页面。比如网页中固定的头部可以单独放在一个共享的视图文件中,然后在布局页面中通过这个方法调用,用法如下:
    @RenderPage(“~/Views/Shared/_Header.cshtml”)
    带参数
    @RenderPage(“~/Views/Shared/_Header.cshtml”,new{parm="my",parm2="you")
    调用页面获取参数:
    //获取 RenderPage() 传递过来的参数
    @PageData["param"]

     
    相关区别
    RenderPage()和RenderPartial()的区别
    RenderPage()调用的页面只能使用其传递过去的数据。
    而RenderPartial()是可以使用viewdata,model等数据的。
    如:@{Html.RenderPartial("BasicChart",model);}
      用这个重载可以在部分视图里使用强类型,然后在主视图中使用第二个参数传model过去
         
          @{Html.RenderPartial("BasicChart",ViewData["myData"]);}
     
    Html.RenderPartial和Html.RenderAction的区别
    Html.RenderPartial适合用在重覆使用的UserControl,并且只需要透过Model来呈现内容,或是对于广告的UserControl也适合使用。
    Html.RenderAction则会先去呼叫Controller的Action方法,如果此UserControl是需要透过资料库取得资料来呈现(透过Action来读取资料库),此时会比较适合使用此方式。
     
    实例
    母版:
    #<#!DOCTYPE html> 
    <#html> 
    <#head> 
        <title>@ViewBag.Title</title> 
        <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> 
        <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script> 
        @RenderSection("head", required: true)@*View页面自定义特定js/css使用*@ 
    </head> 
     
    <#body> 
        @RenderPage("~/Views/Shared/_Header.cshtml") 
        @RenderBody() 
    </body> 
    </html> 
    视图:
    @{ 
        ViewBag.Title = "Index"; 
        Layout = "~/Views/Shared/_Layout.cshtml"; 

    <h2>Index</h2> 
    @section Head{ 
        <script type="text/javascript"> 
            $(function () { 
                alert("hello jquery"); 
            }); 
        </script> 

    <p>执行C#普通语法</p><br /> 
    @DateTime.Now.Date.ToShortDateString() 
     
    <p>执行C#语句段</p> 
    @{ 
        List<string> list = new List<string> { "Mvc3", "Razor" }; 
        list.Add(".Net4");     

    <ul> 
    @foreach(string s in list) 

        if (string.IsNullOrEmpty(s)) 
        { 
           <li>空</li> 
        } 
        else 
        {  
           <li>@s</li> 
        } 

    </ul>
    最后生成:
    #<#!DOCTYPE html>
    <#html>
    <#head>
        <title>Index</title>
        <link href="/Content/Site.css" rel="stylesheet" type="text/css" />
        <script src="/Scripts/jquery-1.4.4.min.js" type="text/javascript"></script>
       
        <script type="text/javascript">
            $(function () {
                alert("hello jquery");
            });
        </script>
    </head>
    <#body>
        <h2>Index</h2>
    <p>执行C#普通语法</p><br />
    2013/3/11
    <p>执行C#语句段</p>
    <ul>
           <li>Mvc3</li>
           <li>Razor</li>
           <li>.Net4</li>
    </ul>
    </body>
    </html>
  • 相关阅读:
    JavaWeb
    Network
    JavaWeb
    Maven
    IDEA
    Maven
    Network
    JavaWeb
    JavaWeb
    JavaWeb
  • 原文地址:https://www.cnblogs.com/gobuild/p/5961961.html
Copyright © 2020-2023  润新知