所有内部站点的标准页眉页面

时间:2015-01-08 17:13:57

标签: asp.net iis banner web-standards

我们有很多内部网站可以使用一点标准化。我希望为所有网站添加一个共同的横幅页面,原因有几个 -

  • 一致的外观
  • 轻松更新横幅广告
  • 显示服务器维护的公告

我们有IIS和ASP.net。我确实在我的横幅页面上工作,作为一个独立的html页面,位于现有网站的顶部,但我确信有更好的方法。我不想主页的方式主要是因为它改变了页面的控件ID,我们有几个使用JQuery和Javascript的站点,当控件ID发生变化时会破坏。

2 个答案:

答案 0 :(得分:0)

你可以创建一个javascript函数,如下所示,并更新所有页面的body标签,以调用该函数,如onload =“onAllPageLoad()”

function onAllPageLoad() {
 $('body').prepend('My common banner HTML elements');
}

这将把你的横幅html元素作为body标签中的第一个元素。

答案 1 :(得分:0)

我能够通过使用Jquery get函数将Banner页面与网站页面拼接来破解解决方案。需要注意的是,每个内部网站页面都必须带有get功能才能统一外观。由于我们的大多数网站都是单页应用,因此现在可以使用。我有一些网站特定信息,我想添加到横幅,横幅页面的任何更新都反映在网站页面上。

以下是我提出的代码 -

Banner.htm页面:

<table width="100%" border="0">
        <tr>
            <td style="width: 30%" align="left">
                <a href="http://SiteHomePage">
                   <img alt="Site Home" border="0" src="http://SiteHomePage/img/SiteHomePagelogo.png"
                        width="119px" height="67px" /></a>
                   
            </td>
            <td style="width: 70%">
                <table width="100%">
                    <tr>
                        <td  style="text-align:left;">
                            <div id="SiteName" style="font-weight: bold; font-size: 30px;">
                            </div>
                        </td>
                        <td>
                            <div id="ExtraInfo" style="float: right; font-weight: bold; font-size: 15px;">
                            </div>
                        </td>                        
                    </tr>
                </table>
            </td>
        </tr>       
    </table>

Default.aspx页面:

<html xmlns="http://www.w3.org/1999/xhtml">

    <head runat="server">
    <%--Script to add banner page starts here--%>
    <script runat="server">
      
      <%--Fetch site specific info from the site web.config --%>

      string SiteInfo =
        ConfigurationManager.AppSettings["SiteInfo"];
      string PageTitle =
        ConfigurationManager.AppSettings["PageTitle"];

      <%--BannerURL value is Banner.htm--%> 
      string BannerURL =
        ConfigurationManager.AppSettings["BannerURL"];
     </script>

    <script src="//code.jquery.com/jquery-1.11.2.min.js" type="text/javascript"></script>
    <script type="text/javascript">
      var extraInfo = '<%= SiteInfo %>';
      var title = '<%= PageTitle %>';
      var BannerURL = '<%= BannerURL %>';

      $(document).ready(function() {
        $.get(BannerURL, function(data) {
          $("#Banner").html(data);
          $("#SiteName").html(title);
          document.title = ":: " + title + " ::";
          $("#ExtraInfo").html(extraInfo);
        });
      });
    </script>
    <%--Script to add banner page ends here--%>
    </head>

   <body>
   <form id="form1" runat="server">
    <div id="Banner">

    </div>

    < %--Add site code here--%>


     </form>
     </body>

     </html>