Question

J'aimerais créer des ancres pour chaque message de mon forum asp.net. Chaque message de forum est rendu en utilisant le contrôle de répéteur. Comment puis-je rendre <a name="anchor_name"></a> en asp.net?

Était-ce utile?

La solution

<a name='<%# Eval("PostId") %>' />

où PostId est le nom de la propriété que vous souhaitez voir apparaître dans votre ancre.

Autres conseils

Ce ne sera pas un code exact, car je ne suis pas dans VS pour en assurer la syntaxe, mais vous devriez obtenir ce que vous voulez.

<a name="<%# Bind('PostId') %>" runat="server" />

Étendez la classe System.Web.UI.WebControls.HyperLink et substituez la propriété UniqueID pour renvoyer l'ID réel:

override string UniqueID { get { return ID; }  }

Utilisez ce nouveau contrôle utilisateur dans le modèle d'élément du répéteur.

<MyPrefix:MyHyperLink ID="IDOfYourHyperLink" ... />

Sur ItemDataBound, faites:

(e.Item.FindControl("IDOfYourHyperLink") as MyHyperlink).ID = NowIKnowWhatToUseHere;

Ok. Je l'ai résolu de cette façon:

<a name='<%# DataBinder.Eval(Container.DataItem, "Id") %>' />

où Id est la propriété de l'entité liée.

L'ajout de <a name="anchor_name"></a> dans l'élément ItemTempate du répéteur à l'endroit approprié devrait faire l'affaire. Un peu plus d'informations pourraient vous aider.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top