ASP.NETのname属性を持つHTMLアンカー
質問
asp.netフォーラムのすべての投稿にアンカーを付けたいです。すべてのフォーラムの投稿は、リピーターコントロールを使用してレンダリングされます。 asp.netで<a name="anchor_name"></a>
をレンダリングするにはどうすればよいですか?
解決
<a name='<%# Eval("PostId") %>' />
PostIdは、アンカーに表示するプロパティの名前です。
他のヒント
これは、構文を確認するためにVSにいるわけではないので、正確なコードではありませんが、このようなものはあなたが行きたいと思うはずです。
<a name="<%# Bind('PostId') %>" runat="server" />
System.Web.UI.WebControls.HyperLinkクラスを拡張し、UniqueIDプロパティをオーバーライドして実際のIDを返します:
override string UniqueID { get { return ID; } }
リピーターのアイテムテンプレートでこの新しいユーザーコントロールを使用します。
<MyPrefix:MyHyperLink ID="IDOfYourHyperLink" ... />
ItemDataBoundの場合:
(e.Item.FindControl("IDOfYourHyperLink") as MyHyperlink).ID = NowIKnowWhatToUseHere;
わかりました。この方法で解決しました:
<a name='<%# DataBinder.Eval(Container.DataItem, "Id") %>' />
Idはバインドされたエンティティのプロパティです。
リピーターのItemTempateの適切な場所に<a name="anchor_name"></a>
を追加することで、トリックを実行できます。もう少し情報が役立つ場合があります。
所属していません StackOverflow