0

私は現在、Visual Studioを使用して、C#WebサイトでASP.NETをゼロから構築しています。次のようないくつかのユーザーコントロール(ascx)を参照するaspxファイルがあります。

<%@ Register src="UserControls/CategoriesList.ascx" tagname="CategoriesList" tagprefix="uc2" %>

ページ上のいくつかの要素(ラベルなど)をカスタマイズすることに興味があるので、.CSSファイルへの参照を(上記の行の直後に)含めました。

<link rel="Stylesheet" type="text/css" href="Cinemax.css" />

そうすると、エラーメッセージが表示されます。

パーサーエラーメッセージ:コンテンツコントロールのみが、コンテンツコントロールを含むコンテンツページで直接許可されます。

エラーは特に<link rel.... (line of code inserted above.)

[同じファイルに!]ユーザーコントロールへの参照とCSSスタイルシートへの参照を含めることができるようにするための回避策はありますか?よろしくお願いします。

4

4 に答える 4

2

マスターページを使用しているようです。マスターページには

<asp:ContentPlaceHolder 

タグ。問題のページは、を使用してこれらのタグのコンテンツを上書きします

<asp:Content 

タグ。

デフォルトでは、マスターページには次のようなものがあります(ページのヘッドセクションへの参照)。

<asp:ContentPlaceHolder runat="server" ID="HeadContent" />

あなたが話しているページからあなたのスタイルシートを参照するには、これを行います:

<asp:Content runat="server" ID="Content" ContentPlaceHolderID="HeadContent">
    <link rel="Stylesheet" type="text/css" href="Cinemax.css" />
</asp:Content>

css参照はheadセクションに存在する必要があるためです。そして、あなたが得ているエラーに関しては、これは、ページにマスターページがある場合、大砲には外部のコンテンツが含まれているためです。

<asp:ContentPlaceHolder 

タグ。

于 2012-06-02T10:11:30.853 に答える
1

マスターページを使用していて、すべてのコンテンツを<asp:Contentコントロール内に配置していないため、このメッセージが表示されます。

すべてのコンテンツがマスターページからのコンテンツコントロール内にあることを確認してください。

于 2012-06-02T10:08:06.860 に答える
1

タグを参照している場合<asp:Content />、.aspxページにタグの外側に何も配置することはできません。したがって、タグ内にそれらを配置することに制限されます。

タグが必要な場合は、マスターページのにを配置するか<script />、ページのコレクションを介して動的に追加する必要があります。<link /><asp:ContentPlaceHolder /><head>Controls

于 2012-06-02T10:10:56.533 に答える
1

ページのセクションにあるファイルにcssを含む行を追加して、ファイルを次のように表示する必要があると思います。<head></head>

<%@ Register src="UserControls/CategoriesList.ascx" tagname="CategoriesList" tagprefix="uc2" %>

<html>
<head>
    <link rel="Stylesheet" type="text/css" href="Cinemax.css" />
</head>
<body>
    ...
</body>
</html>

更新:マスターページを使用すると書いたので、headそこのセクションに配置すると問題が解決するはずです。それはあなたのために働いたので、私はそれを書いているので、同様の問題を抱えている他の人々にも役立つ可能性があります。

于 2012-06-02T10:13:56.807 に答える