HTML-привязка с атрибутом name в ASP.NET
Вопрос
Я бы хотел сделать привязки к каждому сообщению на моем asp.net форуме.Каждое сообщение на форуме отображается с помощью элемента управления repeater.Как я могу визуализировать <a name="anchor_name"></a>
в asp.net?
Решение
<a name='<%# Eval("PostId") %>' />
где PostId - это имя свойства, которое вы хотите отобразить в привязке.
Другие советы
Это не будет точный код, так как я не в VS, чтобы гарантировать синтаксис, но что-то вроде этого должно получить вас, куда вы хотите.
<a name="<%# Bind('PostId') %>" runat="server" />
Расширьте класс System.Web.UI.WebControls.HyperLink и переопределите свойство UniqueID, чтобы получить фактический идентификатор:
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 - это свойство привязанного объекта.
Добавление <a name="anchor_name"></a>
в ItemTempate ретранслятора в соответствующем месте должно помочь. Немного больше информации может помочь.