4

umbraco を使用して asp.net でプログラミングを行っていますが、マスター ページに問題があります。マスター ページを作成し、既定のページにリンクする Web ユーザー マスター ページを追加しました。umbraco の実行時プロジェクトでリンクをクリックすると、次のエラーが表示されました。

ページが見つかりません

URL 'http://localhost:20771/WebForm1.aspx' に一致する umbraco ドキュメントはありません

umbraco は、この xpath クエリを使用してこれを一致させようとしました'/root/* [@urlName = "webform1"] | /root/ / [@urlName = "webform1"]')

このページは、/config/umbracoSettings.config ファイルで 404 ページとして表示される umbraco ドキュメントの ID を追加することで、カスタム 404 ページに置き換えることができます。ID を「/settings/content/errors/error404」要素に追加するだけです。

詳細については、umbraco Web サイトのカスタム 404 に関する情報を参照してください。

このページは意図的に醜く残されています ;-)

私はウェブで検索しましたが、それに関する解決策は見つかりませんでした。

4

2 に答える 2

2

[設定] > [テンプレート] を使用して、マスター ページが管理領域に表示されることを確認します。次に、コンテンツ ページ (管理者の [コンテンツ] セクション) にテンプレートが定義されていることを確認します ([汎用プロパティ] の下)。そうでなく、テンプレートを選択できない場合は、そのテンプレートをその特定のノード タイプに使用できるようにする必要があります。[設定] > [ドキュメント タイプ] に移動し、ノード タイプを選択し、[許可されたテンプレート] で、ページに使用するテンプレートを選択します (ネストされたマスターページを選択しても問題なく動作するはずです)。選択したテンプレートに対して、下の「デフォルトで許可されたテンプレート」が選択されます。[保存] をクリックしたら、[コンテンツ] セクションのノードに戻り、[汎用プロパティ] タブに移動して、必要なテンプレートを選択します。

Umbraco では、コンテンツ ノードのレンダリングに任意の数のマスターページを使用できます。新しいノードを作成するときは、使用するテンプレートを選択します (または、上記の手順に従って指定されたデフォルトを使用します)。ページ URL で ?altTemplate=MyTemplateName クエリ文字列オプションを使用して、実行時に別のテンプレートを強制的に使用することもできます。これは、モバイル サイト、RSS ビューなどで便利です。

于 2012-11-18T01:04:48.503 に答える
1

Master.master ページ (一般的なマスター ページ) では、asp:ContentPlaceHolder を見つけることができます。

このコードに注意してください。おそらくそれが役に立ちます。

            <div style="vertical-align: top;">
                <umbraco:Macro ID="Macro1" Alias="NavigationControl" runat="server"></umbraco:Macro>
            </div>
            ***<div>
                <asp:ContentPlaceHolder ID="DefaultPageContent" runat="server">
                </asp:ContentPlaceHolder>
            </div>***
            <div>
                <asp:ContentPlaceHolder ID="TextPageContent" runat="server">
                    <!-- Insert default "ContactUsContent" markup here -->

                </asp:ContentPlaceHolder>
            </div>
            <div>
                <asp:ContentPlaceHolder ID="AtAGlanceContent" runat="server">
                </asp:ContentPlaceHolder>
            </div>
            <div id="footer">
                <uc6:FooterControl ID="FooterControl1" runat="server" />
            </div>
        </div>

    </form>
于 2012-12-11T08:40:12.707 に答える