【问题标题】:Classic ASP: CSS doesn't apply to content place holder in master page经典 ASP:CSS 不适用于母版页中的内容占位符
【发布时间】:2020-09-28 18:34:18
【问题描述】:

使用经典 ASP Web 应用程序中的母版页改进现有网站(使用框架构建)。 我创建了三个 3 个单独的页面(页眉、内容、页脚)并绑定了其他页面,它工作正常。 在少数场景中,我必须在页面内调用/显示页面,在这种情况下整个页面加载。(页眉和页脚)

Header Page

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
     
    <title>ABC Company</title>
    <!-- basic -->
      <meta charset="utf-8">
      <!-- bootstrap css -->
      <link rel="stylesheet" href="css/bootstrap.min.css" />
      <!-- site css -->
      <link rel="stylesheet" href="css/style.css" />
</head>
 <body id="default_theme" class="home_page1">

ContentHolder Page
    <!--#include file="Header.asp"--> 
     <div id="content">
          <% Call ContentHolder() %>
     </div>
    <!--#include file="Footer.asp"-->
    
PartsPage 
    <!--#include file="Content.asp"-->
    <% Sub ContentHolder() %>
       <object data="mylogin.asp" width="100%" height="700" type="text/html">
           Content
       </object>
    <% End Sub %>

mylogin.asp Page

<%@ Language="VBScript" %>
<% Option Explicit

    Session("LoginID")="validuser"
    Response.AddHeader "pragma","no-cache"
    Response.AddHeader "cache-control","private"
    Response.CacheControl = "no-cache"
    Sssion("user_id")=""
    Session("user_type")=""
%>
<!--#include file="Content.asp"-->

<% Sub ContentPlaceHolder() %> 

<div id="Layer3">
    <table>
       <tr>
          <td>
             <p>
                Please enter your UserID and Password<BR>
             </p>
             <FORM name="MyForm" method="post" action="myLogin1.asp">
                <p>
                   UserID<BR>
                   <INPUT type="text" name="LoginID" id="LoginID" tabindex="1"><BR><BR>
                   Password<BR>
                   <INPUT type="password" name="PWD" id="PWD" tabindex="2"><BR><BR>               
                   <INPUT TYPE="SUBMIT" VALUE="Submit Login Information" name="submit1" tabindex="3">
                </p>
             </FORM>
          </td>
       </tr>
    </table>
</div>

<% End Sub %>

Footer Page
      <footer>
         <div class=row>
            <p>
              <span>All right reserved. &copy;2020 ABC Pvt Ltd. </span>
            </p>
         </div>
      </footer>
  </body>
</html>

所以我从解决上述问题的 ContentHolder 页面中删除了服务器端包含,但 CSS 不适用于 ContentHolder 页面。

ContentHolder Page
 
     <div id="content">
          <% Call ContentHolder() %>
     </div>
     
    
ContactUsPage 
    <!--#include file="Content.asp"-->
    <% Sub ContentHolder() %>
       <h5> Contact Us</h5>
       <p> If you have a question or a comment </p>  
    <% End Sub %>

我不精通经典 ASP,因此您可以提供的任何帮助都会有所帮助。

HTML 源代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>   
    <title>ABC Company</title>
    <!-- basic -->
      <meta charset="utf-8">
      <!-- bootstrap css -->
      <link rel="stylesheet" href="css/bootstrap.min.css" />
      <!-- site css -->
      <link rel="stylesheet" href="css/style.css" />
      <!-- responsive css -->
      <link rel="stylesheet" href="css/responsive.css" />
      <!-- colors css -->
      <link rel="stylesheet" href="css/colors.css" />
      <!-- wow animation css -->
      <link rel="stylesheet" href="css/animate.css" />     
</head>
 <body id="default_theme" class="home_page1">
           <!-- header -->
      <header class="header header_style1">
         <div class="container">
            <div class="row">
               <div class="col-md-9 col-lg-10">
                  <div class="logo"><a href="index.html"><img src="images/logo.png" alt="#" /></a></div>
                  <div class="main_menu float-right">
                      <div class="menu">
                        <ul class="clearfix">
                            <li class="active"><a href="master.asp">Home</a></li>
                            <li><a href="Our Services.html">About</a></li>                                  
                                   <li><a href="myparts2.asp?op=labour">Labour</a></li>                                   
                                  <li><a href="myparts2.asp?op=parts"> Parts</a></li>                                               
                            <li><a href="#">Contact</a></li>
                        </ul>
                    </div>
                  </div>
               </div>
               <div class="col-md-3 col-lg-2">
                  <div class="right_bt"><a class="bt_main" href="accounttype.asp">Login</a> </div>
               </div>
            </div>
         </div>
      </header>
      <div id="content">
            <object data="mylogin.asp" width="100%" height="700" type="text/html">
      
            </object>
      </div>
   <!-- footer -->
       <footer>    
       </footer>
      <!-- end footer -->
 </body>

【问题讨论】:

  • 经典 ASP 中没有 ASP.Net 所说的“母版页”这样的概念。您在这里拥有的是一系列 SSI(服务器端包含)文件,这些文件在服务器返回 HTML 之前被拼接到预处理的 ASP 页面中。您如何使用它们来构建页面完全取决于您,并且没有任何神奇的功能可以让这一切发挥作用。
  • @Lankymart 我知道 ASP 中没有 MP 的概念。我是 m 项目中的一种实现模板(母版页)。 FYKI 我在问题中发布了我尝试过的内容,并从其他开发人员那里获得了一些帮助来解决这个问题。我绝对不是在这个论坛中寻找任何“神奇”功能,如果您对上述问题提供一些解决方案/想法,它仍然会有所帮助。
  • 你能edit这个问题并包含CSS吗?在浏览器中调试呈现问题的最佳方法是在浏览器使用浏览器开发工具呈现页面后检查页面源 HTML。请记住,Classic ASP 是一个服务器端预处理器,它生成 HTML 以发送给客户端,然后客户端呈现它。
  • @Lankymart 我已按照您的要求编辑了问题。你能查一下吗?
  • 没有看到任何 CSS,询问您是否可以 edit 包含 CSS 的问题,不确定您添加了什么。

标签: css asp-classic


【解决方案1】:

如果您尝试通过浏览器打开 CSS 文件,它会返回文本还是空白页?

如果是空白页,请转至控制面板 > 打开或关闭 Windows 功能 > Internet 信息服务 > 万维网服务 > 通用 HTTP 功能 > 静态内容。将静态内容设置为开启,然后确定。

现在重新加载页面,看看 CSS 是否呈现。

【讨论】:

  • 它以文本形式返回。
猜你喜欢
  • 1970-01-01
  • 2011-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多