技术:Dottext 用户管理区在 .NET 2.0 Beta 中的页面代码提示问题

翟二喜

Dottext 0.95/0.96 在 Admin 管理区中使用 ANW:Page 作为页面模版的容器。

在 .NET 2.0 的页面编辑中,由于页面的框架部分已完全在 PageTemplate.ascx 中存在,通过 ANW:Page 使用模版的 aspx 文件因此便无需 html、body 等标记了。

但是,正因为这样,.NET 2.0 页面编辑器认为这是一个错误的页面(虽然运行器可以运行它),不能进行正常的代码提示。也就是说,在页面中,如果没有 html、body 等页面框架标记,将不能使用 asp:Label、asp:Literal、asp:DataList 等标记。

虽然研用以前的方法仍可运行,但还是感觉很别扭,想把它改换成以 .NET 2.0 新增的 MasterPage 为基础的模版页面。

为了降低工作量,先只将 PageTemplate.ascx 中的 html、body 等标记转移到新建的 PageTemplate.Master 文件中。

将所有 Admin 管理区的 aspx 文件设定 MasterPage 为 PageTemplate.Master,并加上 asp:Content 标记。Dottext.Web.Admin.Pages.Page 中也有一些相关改动。

因为使用了 MasterPage,造成了一些 runat=server 的标记 id 发生变化,不能使用 css 中面向 id 的 css 定义了(#tagid)。所以, body#Posts、body#Artical 等改为 body.body-tab-Posts、body.body-tab-Artical 等。

本次改动加入注释行:{44CEB56B-C600-46f1-8E46-D33F23946752}