0

マスター ページにメニューを追加する作業を行っています。

サイトマップを作成してコントロールを追加したところ、次のエラーが発生しました:

コントロールにコード ブロック (つまり <% ... %>) が含まれているため、Controls コレクションを変更できません。

マスターページのコードは次のとおりです。

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="~/master/template.master.cs" Inherits="template" %>

<!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 runat="server">
    <title>Enhancement</title>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
    <link href="<% = Page.ResolveUrl("~/css/master.css") %>" rel="Stylesheet" type="text/css" />
    <link href="<% = Page.ResolveUrl("~/css/default.css") %>" rel="stylesheet" type="text/css" />


</head>
<body>
    <form id="form1" runat="server">
    <!-- BEGIN: Sticky Header -->
    <div id="header_container">
        <div id="header">
            <div id="headerBar">
                <a href="<% = Page.ResolveUrl("~/default.aspx") %>">
                <img src="<% = Page.ResolveUrl("~/images/logo.png") %>" id="logo" /></a>
                <span id="header_text">Scrum Reports</span>
                <asp:LoginStatus ID="LoginStatus1" runat="server" CssClass="login_status" LogoutAction="Redirect"
                    LogoutPageUrl="~/default.aspx" />
                <asp:LoginName ID="LoginName1" runat="server" CssClass="login_user" />
            </div>
        </div>
        <div id="Menu">
            <asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1">
            </asp:Menu>
            <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
        </div>

    </div>
    <!-- END: Sticky Header -->
    <!-- BEGIN: Page Content -->
    <div id="container">
        <div id="content">
            <asp:ContentPlaceHolder ID="Main" runat="server">
            </asp:ContentPlaceHolder>
        </div>
    </div>
    <!-- END: Page Content -->
    <!-- BEGIN: Sticky Footer -->
    <div id="footer_container">
        <div id="footer">
            Developed by Application Solutions
        </div>
    </div>
    <!-- END: Sticky Footer -->
    </form>
</body>
</html>

次のタイプのコード ブロックが原因であることがわかりました。

<% = Page.ResolveUrl("~/css/default.css") %>

だから私の質問は、どうすればこれを回避できますか? リンクを正しく機能させるには上記のコードが必要ですが、メニュー コントロールも使用したいと考えています。

4

1 に答える 1

0

私はそれを理解しました.css参照をヘッダータグからフォームタグに移動する必要がありました:

<form>
    <link href="<% = Page.ResolveUrl("~/css/master.css") %>" rel="Stylesheet" type="text/css" />
    <link href="<% = Page.ResolveUrl("~/css/default.css") %>" rel="stylesheet" type="text/css" />
</form>
于 2013-06-24T18:54:30.683 に答える