2012-08-02 94 views
0

我已經爲一個畫廊編寫了一個.net用戶控件,在我的Web應用程序中運行得很好,如果在我的頁面上有一個畫廊。問題是當我使用XHTML 1.0 Strict去驗證我的頁面時,我在這裏得到的文檔類型不允許元素「鏈接」。W3C驗證包含CSS的UserControl

我已經做了一些研究,這是因爲我有一個嵌入在usercontrol中的樣式表,並且從主頁面的主體中調用,所以它不驗證。我可以將樣式表移出usercontrol並放入masterfile中,但我不需要在每個頁面上加載樣式表。做這件事的最好方法是什麼 - 我希望在usercontrol中包含樣式表,所以它很容易'管理'。

任何建議將是偉大的。還想到,我是否需要從usercontrol中刪除javascript?

這是問題

<%@ Control Language="C#" Debug="true" AutoEventWireup="true" CodeFile="Gallery.ascx.cs" Inherits="Gallery" %> 

<%@ Register Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
Namespace="System.Web.UI.WebControls" TagPrefix="asp" %> 

<link ID="FancyboxCSS" type="text/css" rel="stylesheet" href="" runat="server" /> 
<link ID="FancyboxButtonsCSS" type="text/css" rel="stylesheet" href="" runat="server" /> 

<script type="text/javascript"> 

$(document).ready(function() { 
    $(".fancybox").fancybox({ 
     maxWidth: 800, 
     maxHeight: 800, 
     fitToView: true, 
     aspectRatio: true, 
     openEffect: 'fade', 
     closeEffect: 'fade', 
     nextEffect: 'fade', 
     prevEffect: 'fade', 

     helpers: { 
      title: { 
       type: 'outside' 
      }, 
      overlay: { 
       opacity: 0.8, 
       css: { 
        'background-color': '#000' 
       } 
      }, 
      buttons: {} 
     } 
    }); 
}); 

<div id="gallery" runat="server"> 
//images here 
</div> 

回答

0

一個標記驗證處理標記語言文檔,比如HTML或XML的用戶控制和文檔必須是完整的。例如,HTML文檔必須最少包含一個title元素。而不應該包含像<%@之類的東西:它們不是HTML文檔的一部分,但是指示生成HTML的軟件。

所以,如果你想驗證,你需要提交一個完整的,生成的HTML文檔。

+0

嗨尤卡,感謝您的回覆,我將編輯我的HTML代碼的母版是生產的問題,我只是包括尋找同樣的東西用戶控件,因爲我認爲它可能有所幫助。 – JK36 2012-08-02 12:12:27