문제

SharePoint 전문가가 getListItems () Lists Web Service에 대한 호출에 의해 반환 된 데이터의;#를 설명 할 수 있습니까?

나는 그들이 여기서 무엇을하고 있는지 이해한다고 생각합니다. ;#은 ID뿐만 아니라 실제 데이터 (문자열)를 포함하여 설명을하는 구문과 거의 같습니다. 이런 식으로 당신은 둘 중 하나를 사용할 수 있지만 같은 열에서 잘 짝을 이루고 있습니다.

내가 기지에서 벗어나? 나는 단지 다른 사용을 알 수 없습니다. 예를 들어

I have a list with:    
ows_Author  
658;#Tyndall, Bruno    
*in this case the 658 seems to be an ID for me in a users table somewhere*

ows_CreatedDate (note: a custom field. not ows_Created)    
571;#2009-08-31 23:41:58    
*in this case the 571 seems to be an ID of the row I'm already in. Why the repetition?*   

누구든지 SharePoint의 이러한 측면에 대해 약간의 빛을 비추는 사람이 있습니까?

도움이 되었습니까?

해결책

문자열 ;# 사용자 필드를 포함하여 SharePoint의 조회 필드에 의해 구분 기자로 사용됩니다. 객체 모델로 작업 할 때 사용할 수 있습니다. SPFieldLookupValue 그리고 SPFieldUserValue 구분 된 문자열을 강하게 유형 된 객체로 변환합니다. 그러나 웹 서비스와 함께 작업 할 때는 문자열을 직접 구문 분석해야한다고 생각합니다.

첫 번째 부분은 사이트 사용자 목록의 정수 ID : ID 또는 조회 목록에서 해당 항목의 ID라는 것이 맞습니다. 두 번째 부분은 조회 열의 사용자 이름 또는 값입니다.


Nicolas는이 구분 기가 ...를 포함한 다른 복합 필드 값에도 사용된다고 올바르게 지적합니다.

  • spfieldlookupvaluecollection
  • SPFIELDMULTICOLUMNVALUE
  • SPFIELDMULTICHOICEVALUE
  • Spfielduservaluecollection

다른 팁

SPFieldUser는;# 표기법을 사용하는 SPFIELDLOOKUP에서 상속합니다. spfieldlookupvalue 클래스의 새 인스턴스를 만들어 값을 쉽게 구문 분석 할 수 있습니다.

string rawValue = "1;#value";
SPFieldLookupValue lookupValue = new SPFieldLookupValue(rawValue);
string value = lookupValue.LookupValue; // returns value
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top