SPListItem 索引器报告“值不在预期范围内”

本文关键字:范围内 索引 报告 SPListItem | 更新日期: 2023-09-27 18:31:57

我有以下代码:

  try
  {
    string customerName = SPContext.Current.Web.CurrentUser != null ? 
        SPContext.Current.Web.CurrentUser.Name.ToString() : "Customer";
    SPSecurity.RunWithElevatedPrivileges(delegate()
    {
      try
      {
        using (SPSite site = new SPSite(this.DesignJobListUrl))
        {
          using (SPWeb web = site.OpenWeb())
          {
            web.AllowUnsafeUpdates = true;
            SPList list = web.GetList(this.DesignJobListUrl);
            SPListItem newListItem = list.Items.Add();
            newListItem["Customer Name"] = customerName;
            newListItem["Design Id"] = this.DesignStartResponse.DesignJobId;
            newListItem["Email"] = email;

            newListItem.Update();
          }
        }
      }
      catch (Exception ex)
      {
        innerEx = ex;
      }
    });

问题是这条线newListItem["Customer Name"] = customerName;抛出一个Value does not fall within the expected range.异常,我不知道为什么。其他两个作业工作正常。

该错误位于 .NET Web 应用程序的上下文中。

SPListItem 索引器报告“值不在预期范围内”

从这里: https://sharepoint.stackexchange.com/questions/50357/value-does-not-fall-within-the-expected-range-but-the-field-exist

试试这个:

newListItem.Properties["Customer Name"] = customerName;

确保在设计器中列表字段的命名方式完全相同:"客户名称"、"设计 ID"、"电子邮件"。任何额外/缺失的空格、字母大小写差异都可能导致代码不起作用。