클라이언트 측 개체 모델의 여러 줄 텍스트 필드에서 일반 텍스트를 얻는 방법은 무엇입니까?

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/96895

문제

목록의 MultiLineTextField에서 일반 텍스트를 읽으려고 합니다.지금까지 내 코드는 다음과 같습니다.

//Get connection
ClientContext context = new ClientContext("URL");
Web site = context.Web;
context.Load(site);
context.ExecuteQuery();

//Get list collection
ListCollection lists = context.Web.Lists;
context.Load(lists);
context.ExecuteQuery();

//Get specific list
List menu = lists.GetByTitle("menu");
CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXML = "<View/>";
ListItemCollection dishes = menu.GetItems(camlQuery);
context.Load(menu);
context.Load(dishes);
context.ExecuteQuery();

//Iterate through all dishes

foreach(ListItem dish in dishes)
{
Console.WriteLine("Dish: {0}:", dish.FieldValues["Name"]);
Console.WriteLine("Price: {0}:", dish.FieldValues["Price"]);
//Here I get my problem
Console.WriteLine("Ingredients: {0}:", dish.FieldValues["Ingredients"]);
}

재료를 읽으려고 하는 마지막 줄에서는 RichText로 설정된 MultiLineTextField에서 읽고 있습니다.또한 하이퍼링크가 추가되어야 하기 때문에 RichText 형식으로 유지되어야 합니다.문제는 출력에 div 태그뿐만 아니라 필드에 추가한 적이 없는 이상한 물음표도 포함되어 있다는 것입니다.저는 며칠 동안 이 문제를 해결하려고 노력하고 있지만 가능한 해결 방법은 두 가지밖에 없는 것 같습니다.

  1. 필드를 RichText에서 PlainText로 설정합니다. 제 경우에는 옵션이 아닙니다.
  2. Regex를 사용하여 div 태그를 제거합니다.이 옵션을 제안하지 마십시오.주로 나는 이것이 이 문제에 대한 깨끗한 해결책이라고 생각하지 않기 때문입니다.게다가 시도해 보니 태그가 제거되었지만 이상한 물음표는 그대로 남아 있습니다.

내가 찾은 세 번째 옵션이 있는 것 같습니다. 여기.이 글에도 언급되어 있습니다 질문 그리고 그것은 작동하는 것 같습니다.하지만 나는 그것이 나를 위해 작동하도록 할 수 없습니다.이것이 어떻게 보이는지입니다:

string myString = item.FieldMultiLineText[Field_Name]

그래서 뭔지 궁금해 item 여기 있어야 하는데?나는 그것이 아닌 것 같아요 ListItem 내 경우에는 FieldMultiLineText-재산.

이 문제를 해결하는 데 도움을 주기로 결정하셨다면 짧고 유익한 코드 조각이 도움이 될 것입니다.

미리 감사드립니다.

도움이 되었습니까?

해결책

이있다 필드다중선텍스트 서버 개체 모델의 SPFieldMultiLineText 클래스와 동일한 CSOM의 클래스입니다. 아래 코드를 시도해 볼 수 있습니다.

dish.FieldValuesAsText["Ingredients"];

또한 다음을 포함해야 합니다. FieldValuesAsText 아래와 같이 load 문의 속성:

context.Load(dishes,items=>items.Include(item=>item.FieldValuesAsText));

다른 팁

나는 같은 문제가 있었고 시도했습니다. 언니의 위의 솔루션이지만 그것은 나에게 효과가 없었습니다.내가 찾은 것 다른 게시물 그것은 나를 위해 일했고 여기에서 그것을 공유하고 누군가에게 도움이 될 것이라고 생각했습니다.

외부 개발자가 목록에 '한 줄의 텍스트'라는 열을 추가했는데 이는 필요에 비해 충분하지 않았습니다.열 유형을 ''로 변경했습니다.여러 줄의 텍스트' 하지만 기본적으로 허용할 텍스트 유형을 지정합니다. 속성에 '서식 있는 텍스트(굵게, 기울임꼴, 텍스트 정렬, 하이퍼링크)'가 선택되어 있었습니다.이로 인해 시스템은 전체 기능을 죽이는 이상한 'ExternalClass##########'이 포함된 원치 않는 요소를 추가하게 되었습니다.

라디오 버튼 목록 값을 서식 있는 텍스트에서 다음으로 변경합니다. 일반 텍스트 차이가 있었고 내 코드를 변경할 필요가 없었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top