2010-05-03 23 views
6

Tôi đang cố gắng sao chép một loại nội dung tùy chỉnh từ một trang web này sang trang web khác. Tôi đã googled xung quanh và tìm thấy một số ví dụ sử dụng FieldLinks và Fields. Tôi là loại mất như là một trong những để sử dụng, kể từ khi tôi nhận được FieldLinks từ trang web nguồn của tôi, tôi nhận được 3 lĩnh vực; trong khi truy xuất từ ​​các trường chỉ trả lại cho tôi 2 trường ... trường tùy chỉnh bị thiếu. Tôi khá chắc chắn rằng tôi đã thêm các lĩnh vực ở cấp độ thích hợp kể từ khi tôi đã làm nó thông qua giao diện. Nhưng khi lấy nó bằng cách sử dụng mã ... các con số không thêm lên. Vì vậy, bên cạnh đó là vấn đề lạ, tôi muốn biết sự khác nhau giữa FieldLinks và Fields là gì, và khi giao dịch với chúng trong Loại Nội dung (lập trình), tôi nên sử dụng loại nào?Sự khác biệt giữa FieldLinks và Field trong Sharepoint

Cảm ơn.

Trả lời

10

SPFields là các trường, trong khi SPFieldLinks là tham chiếu đến các trường. This is a good read that will explain things in detail. Nói chung, sẽ an toàn hơn khi sử dụng SPFieldLinks khi bạn đang thực hiện định nghĩa kiểu nội dung thực tế. Tuy nhiên, tôi sẽ đưa ra một bản tóm tắt nhanh ở đây.

Danh sách và Web chứa các trường thực tế có dữ liệu trường. Mặt khác, kiểu nội dung chỉ chứa Tham chiếu trường, chỉ đơn giản trỏ vào trường tương ứng trong danh sách hoặc web. Điều này hơi khó hiểu, bởi vì các loại nội dung có cả SPFieldLinkCollection và SPFieldCollection.

SPFieldLinkCollection được sử dụng trong định nghĩa thực tế của loại nội dung và là những gì bạn muốn sử dụng trong trường hợp sao chép loại nội dung từ web này sang trang web khác. SPFieldLinks tương ứng với các phần tử thực tế trong Lược đồ XML cho một loại nội dung.

Tương tự, khi bạn gọi trên một loại nội dung của SPFieldCollection và lấy một trường từ đó, điều thực sự xảy ra là loại nội dung đang kiểm tra tham chiếu trường tương ứng, và sau đó tìm trong danh sách/web để có được thực tế cánh đồng. Về cơ bản, hãy nghĩ về SPFieldCollection giống như cách mà công cụ tra cứu hoạt động: nó vô giá trị mà không có cả giá trị tra cứu và nguồn tra cứu.

+0

Cảm ơn bạn đã giải thích. Tình huống của tôi là khi tôi kiểm tra SPFieldLinks của loại nội dung, tôi có thể thấy 3 liên kết trường (chính xác); tuy nhiên nếu tôi kiểm tra SPField, tôi chỉ có thể nhìn thấy 2 trường ... cột tùy chỉnh bị thiếu. – BeraCim

+0

... và loại nội dung và cột được thêm vào thông qua giao diện, không phải theo chương trình, nếu điều đó tạo ra bất kỳ sự khác biệt nào. – BeraCim

+0

Tài liệu SP2013 [ở đây] (https://msdn.microsoft.com/en-us/library/office/microsoft.sharepoint.spcontenttype.fieldlinks.aspx) (xem xét bên dưới) củng cố quan điểm của bạn, vì vậy điều này vẫn tiếp tục -to-date. – jpaugh

Các vấn đề liên quan