是否可以为跨站点集合的列表项生成唯一的Id ?



例子:我有10个网站,每个网站有5个列表。从站点1开始,我在listX中添加了一个项目,现在id将像"1"一样,并在第4个子站点的listB中创建另一个项目,所以现在id将"2"…所以必须这样继续下去怎么才能做到呢?

我需要更新这与所有列表项目添加的事件?另外,如何获得最新的id?

我已经尝试过这个代码与自定义表单,它的工作很酷,但认为这可能会给并发问题

    public static void ID()
    {
        if ((field.InternalName.Equals("Field1")))
                                {
                                     {
          string template;
          using (SPSite site = new SPSite(SPContext.Current.Site.Url))
          {
              using (SPWeb web = site.RootWeb)
              {
template = web.Properties["eydtemplate"].ToString();
              }
          }
          if ("eydadvisory" == template)
          {
              SPListItemCollection items = _currentList.Items;
              if (_currentList.ItemCount == 0)
              {
webControl.Field.DefaultValue = (1).ToString();
              }
              else
              {
SPQuery query = new SPQuery();
query.RowLimit = 1;
query.Query = " <OrderBy><FieldRef Name='" + field.InternalName + "' Ascending='FALSE' /></OrderBy>";
webControl.Field.DefaultValue = (Convert.ToInt64(_currentList.GetItems(query).Cast<SPListItem>().FirstOrDefault()[field.InternalName]) + 1).ToString();
              }
          }
      }

相关内容

  • 没有找到相关文章

最新更新