自动增量/标识自定义字段类型
我目前正在实现一个系统,其中有用户生成的项目,我们可以称之为订单。 我希望有一个字段(非GUID),客户可以通过电话轻松说出或写下代表订单的字段。 该领域应该简单而独特,这让我想到了一个身份领域。 项目的GUID的一部分,比如10个字符,是否足够独特? 如何在Sitecore中实现这样的独特字段?
GUID是字母数字,这对我的情况很好,但是太长了。 目前我这样做的例子可能是103143317(商店103,下午2:33.17)
版本:Sitecore 6.6
您可以使用以下代码:
static string uniqueCode() { string characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#"; string ticks = DateTime.UtcNow.Ticks.ToString(); var code = ""; for (var i = 0; i < characters.Length; i += 2) { if ((i + 2) <= ticks.Length) { var number = int.Parse(ticks.Substring(i, 2)); if (number > characters.Length - 1) { var one = double.Parse(number.ToString().Substring(0, 1)); var two = double.Parse(number.ToString().Substring(1, 1)); code += characters[Convert.ToInt32(one)]; code += characters[Convert.ToInt32(two)]; } else code += characters[number]; } } return code; }
此代码将基于通用时间戳刻度生成唯一代码/密钥。
此链接中的更多详细信息
您可以通过自定义令牌而不是自定义字段来实现此目的。 我在这里已经回答了类似的问题: Sitecore – 自定义字段,在创建时添加唯一值
基本上,您将创建一个自定义标记并在其中添加您的生成算法。 您可以使用Guid.NewGuid()对其应用某种哈希值,并根据需要选择任意数量的字符。
上述就是C#学习教程:自动增量/标识自定义字段类型分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。
如若转载,请注明出处:https://www.ctvol.com/cdevelopment/1004834.html