Показывать значок в зависимости от свойства страницы - PullRequest
1 голос
/ 04 февраля 2009

На типе контента на сайте SharePoint (MOSS 2007) я хочу показать значок, если свойство имеет определенное значение.

Столбец Да / Нет, поэтому выбранное значение должно быть довольно легко определить.

Так как я могу в ASPX показывать прочитанное значение? Я знаю, что мне нужно изменить файл web.config для включения C # на странице, но я просто не уверен, как найти это свойство. Я думаю, что мне нужно использовать SPContext.Current, но я не уверен, что внутри этого.

Ответы [ 3 ]

1 голос
/ 04 февраля 2009

вам нужно получить значение из элемента в списке. я думаю, что это сработает:

SPList list = SPContext.Current.Web.Lists["my list name"];
SPListItem item = list.items.GetItemById(ItemId);

//the following 2 lines are not strictly necessary
//but since you explicitly mentioned this is related to ContentTypes
//this is how you can ensure the item you retrieved is of the apprpriate type
SPContentTypeId myContentTypeId = GetContentTypeId();
if (list.ContentTypes.BestMatch(myContentTypeId).Equals(item.ContentType.Id))
{
  string value = item["interesting field name"].ToString();
  //if the value is of interest, do your thing
}
0 голосов
/ 18 февраля 2009

Ну, я узнал, как это сделать:

var item = SPContext.Current.File.Item; //returns the SPListItem for the current context
var myField = item["SomeFieldName"]; //this will throw a NullReferenceException if there is no data for the field yet though
Response.Write(myField.ToString());
0 голосов
/ 04 февраля 2009

Я бы повторил комментарий EvilGoatBob? в этом отображении с помощью XSLT обычно намного проще сделать. Если это не подходит в вашей ситуации, закодированное решение может работать. Если вы хотите отобразить на странице ввода формы, вы можете попробовать пользовательское поле управления

Было бы проще последовательно отображать значок везде, где используется поле.

...