none
MVC中的布局页_Layout.cshtml,如何以编程方式动态的向名为head的section中加内容 RRS feed

  • 问题

  • MVC中的布局页_Layout.cshtml,如何以编程方式动态的向名为head的section中加内容

    <!DOCTYPE html>
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>@ViewBag.Title</title>
        <link href="http://localhost/App_Themes/Base.css" rel="stylesheet" />
        @RenderSection("head", required: true)@*View页面自定义特定js/css使用*@
    </head>
    <body>
    @RenderBody()
    <script src="http://localhost/js/base.js"></script>
    @RenderSection("impJs")
    @RenderSection("runJs")
    </body>
    </html>

    就像以前传统asp.net中访问母版页那样:
    this.Master.Master.FindControl("head").FindControl("head").Controls.Add(link);

    2016年1月6日 4:03

全部回复

  • 您好,

    首先<head>是一个html元素,不是server端的控件,所以我们没法用FindControl()方法来找到。另外,在MVC controller action中,我们无法使用FindControl()方法。如果您想动态地添加元素到<head>中,您可以试着用jQuery从前端来添加。

    2016年1月20日 7:58
  • 不是,我补充一下,是一个id为head且带有runat="server"标记的服务端元素,目的是在服务端动态组装页面,不是前端,所以和jqery没关系
    2016年1月22日 7:51