2009-08-11 2 views
0

Предположим, у меня есть строковый массив внутренних имен полей. Как получить свои отображаемые имена?Найти поле на сайте sharepoint

Я искал ответ и обнаружил, что есть конструктор SPFieldCollection(SPWeb web, string strXml). Моя первая мысль - yeehaw, я могу передать CAMLquery и получить объекты SPFieldCollection для работы.

Однако для strXml я попытался прохождение следующих CAML запроса:

  • <FieldRef's> (<FieldRef Name='Abc'><FieldRef....)

  • <ViewFields><FieldRef's></ViewFields>

  • <Fields><FieldRef's></Fields>

, но не повезло. Нет результатов.

Любые идеи о том, как это сделать?

+0

Ваш вопрос не совсем ясен, не могли бы вы разработать? – Colin

+0

Хорошо, отредактировано. –

ответ

1

Есть ли какой-либо причине в parcitular вы не хотите, чтобы перебрать имена и называть

web.Fields.GetField(internalName) 

для каждого имени?

Одним из недостатков этого подхода является то, что GetField будет возвращаться к совпадению отображаемого имени, если внутреннее имя не может быть найдено, поэтому, если у вас есть некоторые фанки-кроссоверы между внутренним и отображаемым именем, все может немного запутаться. В этом случае я перейду через FieldCollection вместо этого и сравню его, непосредственно с InternalName.

+0

Ой, возможно, работает. Благодарю. –

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