2016-01-26 2 views
1

У меня есть следующий код:SPListItem Индексатор сообщает «Значение не попадает в ожидаемый диапазон»

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.

+0

Пройдите через него и посмотрите, что значение customerName в критический момент. –

+0

Это для * SharePoint *? Я помню, что смутное сообщение об ошибке заставляло меня гаснуть, когда я работал с ним. –

+0

@ B.ClayShannon значение - это допустимая строка из 11 символов – Comforse

ответ

0

Убедитесь в конструкторе, что поля списка названы именно так: "Имя клиента", "Дизайн Id", "E-mail" , Любое дополнительное/отсутствующее пространство, разность букв может привести к тому, что код не будет работать.

Смежные вопросы