2009-02-04 4 views
1

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

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

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

+0

Рассматривали ли вы с помощью XSLT на представления списка веб-части для достижения этой цели, а не написания кода? –

ответ

0

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

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()); 
1

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

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

где вы получаете идентификатор текущей загруженной страницы? –

+0

Я думал, что вы создаете пользовательскую страницу для отображения этой информации, не знаете, зачем вам нужен идентификатор страницы ... – Jason

0

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

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

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