проблема в получении точки доступа расширенного текстового поля - PullRequest
0 голосов
/ 24 января 2010

Мне нужно извлечь значения из расширенного текстового поля из списка. Мой код до сих пор такой:

        ArrayList arCategory=new ArrayList();               
        SPList myList = myWeb.Lists["PList"]; 
        SPQuery myQuery = new SPQuery();
        myQuery.Query = "<OrderBy><FieldRef Name='ProgramID' Ascending="False"/></OrderBy>;

            SPListItemCollection myItemCol = myList.GetItems(myQuery);

            foreach (SPListItem myItem in myItemCol)
            {                   
                string strCatTxt = (string)myItem["Category"];-->

// Категория - это многострочный столбец расширенного текста

              arCategory.Add(strCatTxt);
            }

           for (int j = 0; j < arCategory.Count; j++)
          {
          Label lblCategory = new Label();
          lblCategory.Text=arCategory[j].Tostring(); ---->Getting exception
          }

1 Ответ

0 голосов
/ 24 января 2010

Проблема здесь не в SharePoint. В вашем коде у вас есть lblCategory.Text=arCategory[j].Tostring();

Если arCategory[j] равно null, вы получаете исключение при вызове ToString () для него.

Так что в принципе вы можете исправить это так:

for (int j = 0; j < arCategory.Count; j++) {
  if (arCategory[j]!=null){
    Label lblCategory = new Label();
    lblCategory.Text=arCategory[j].Tostring(); ---->Getting exception
  }
}

EDIT: Или, конечно, вы можете добавить элемент <Where>... в свой запрос и читать значения только из элементов, которые имеют Категорию, отличную от null. Это также ускорит выполнение вашего запроса!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...