2009-02-04 14 views
1

Sur un type de contenu dans un site SharePoint (MOSS 2007), je souhaite afficher une icône si la propriété a une certaine valeur.Afficher l'icône en fonction de la propriété de page

La colonne est un Oui/Non, donc la valeur sélectionnée devrait être assez facile à déterminer.

Alors, comment puis-je, dans l'ASPX, afficher la valeur? Je sais que j'ai besoin de modifier le web.config pour permettre le C# sur la page, mais je ne suis pas sûr de savoir comment trouver la propriété. Je pense que je dois utiliser SPContext.Current, mais je ne suis pas sûr de ce que cela contient.

+0

Avez-vous envisagé d'utiliser XSLT sur la vue de la liste webpart pour y parvenir plutôt que d'écrire un code personnalisé? –

Répondre

0

Eh bien, je l'ai appris comment faire:

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

vous aurez besoin d'obtenir la valeur d'un élément de la liste. en haut, je pense que cela va fonctionner:

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

Où obtenez-vous l'ID de la page actuellement chargée? –

+0

Je pensais que vous étiez en train de créer une page personnalisée pour afficher cette information, je ne sais pas pourquoi vous auriez besoin d'un identifiant de page ... – Jason

0

Je voudrais faire écho le commentaire par EvilGoatBob? en ce que l'affichage par XSLT est généralement beaucoup plus facile à faire. Si cela n'est pas approprié dans votre situation, une solution codée peut fonctionner. Si vous souhaitez afficher sur la page d'entrée de formulaire, vous pouvez essayer un custom field control

Il serait plus facile d'afficher l'icône de façon uniforme partout où le champ est utilisé.

Questions connexes