在具有Masterpages的Umbraco网页上显示XML内容(用于站点地图)

时间:2017-02-14 15:23:15

标签: .net webforms umbraco umbraco7

我正在运行Umbraco的多站点实例。一切进展顺利,但现在我需要创建一个站点地图。

我设法创建了一个显示完美XML格式的站点地图的宏,但是......

我无法弄清楚如何在页面上显示正确的标题。现在它看起来像这样:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title></title>
</head>
<body>
   <form method="post" action="./sitemap" id="form1">
     <div class="aspNetHidden">
         <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="faEtomis/pJrnOEH1FjMt3tYgJgnPP8lddqb60IlljFoqaMzmdGrfFsw4WeF9tCiqAa6bpN0obMQKnBNa1OmWHYSPuVgJB8116lnS+3eY95EqMoOpeTPa8jbsUSJXzXx" />
     </div>
     <div>
       <url>
          <loc>https://www.example.com/</loc>;
          <lastmod>2017-02-12T17:41:48+00:00</lastmod>
       </url>
     </div>
     <div class="aspNetHidden">
        <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="CA0B0334" />
     </div>
</form>
</body>
</html>

显然,这不是格式正确的XML站点地图文件。

我的问题是umbraco / default.master必须有基本的html,head,body标签,以允许我的模板的ContentPlaceHolder工作。

我可以做些什么来完成这项工作?

1 个答案:

答案 0 :(得分:1)

您的Sitemap.Master模板(或您用于放置网站地图xml结构的任何内容)不必从除默认Umbraco MasterPage之外的任何内容继承,该主页不应包含任何HTML标记无论如何。例如,Umbraco的库存标准安装具有以下/Umbraco/MasterPages/Default.Master:

<%@ Master Language="C#" AutoEventWireup="True" CodeBehind="Default.master.cs" Inherits="Umbraco.Web.UI.Umbraco.Masterpages.Default" %>
<asp:ContentPlaceHolder ID="ContentPlaceHolderDefault" runat="server">
</asp:ContentPlaceHolder>

值得注意的是,如果您确实使用的是Umbraco 7(或者6个),您可以使用MVC而不是MasterPages创建一个模板,它仍然有效。

要获得更详细的解答,请分享您当前的站点地图主页模板和结构...