0

我使用过我自己编程的 CMS,但在 Umbraco 上是新的。我正在使用 .net framework 4 开发Umbraco 4.7,并希望创建一个有点像这样的内容结构

男模
|-------------型号(可以是多个)
                 |----------- 型号 ID (问题) 
                 |----------- 姓名
                 |----------- 出生日期
                 |----------- 等等...

我需要为每个模型创建节点,并希望为每个模型分配一个唯一的模型 ID,但找不到任何可用于自动增量字段的数据类型(就像我在使用 SQL 编写自定义 .net 代码时所做的那样)。我知道我可以使用@pageId,但我希望模型 ID 从 100 开始,并且每个模型只有一个增量。

需要帮忙...

4

2 回答 2

1

一种选择是您可以在自定义库中处理 Document.AfterPublish 事件,该事件可以在创建后将自动增量值添加到“autoID”字段并再次保存/发布。您可能需要保留当前增量 id 值的计数器(例如在上面的“MaleModels”节点中),这样您就不必每次都查询所有模型来查找最高 ID。

这是一篇关于 Umbraco 事件的博客文章,可能有助于了解详细信息:http: //www.bo-mortensen.dk/2011/10/umbraco-more-event-goodness/

于 2012-08-02T20:05:34.943 回答
0

为什么不创建具有数据库的“自定义用户控件”,并且可以将第一列创建为自动增量,将第二列创建为 NodeId,一旦完成,请在Page_Load()事件中将其添加到数据库中,确保检查 NodeId 是否存在不要插入记录。

现在在 Umbraco 中创建为 DataType 然后用作属性,当您创建节点时,用户控件将获得自动增量编号,用户控件将使用 NodeId 插入记录并生成自动增量并显示到page_load()into <asp:Label>

每次页面加载时它都会变热,因此您可以做的是每次都需要检查数据库是否存在 NodeId(如果存在)然后不要插入,否则插入数据库中,这样您就可以创建自动增加的,

您需要记住,每次数据库都会加热,只需确保您需要研究它的性能。

如果您还有其他问题,请告诉我。

谢谢

安库尔

于 2012-07-31T10:51:40.077 回答