2008-10-22 58 views

回答

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

其中PostId是您想要在锚点中显示的属性的名称。

+0

这PostId是只知道PostsRepeater_ItemDataBound事件方法,所以我应该如何引用它? – rafek 2008-10-22 18:05:41

-1

<a name="anchor_name"></a>添加到中继器的ItemTempate中,并在适当的位置执行该操作。多一点信息可能会有所帮助。

+0

当然,你要把ID放在name属性中!我不明白为什么我得到-1。我们被告知没有信息。 – mspmsp 2008-10-22 20:15:43

1

这不会是确切的代码,因为我不在VS中以确保语法,但是像这样的东西应该让你想去。

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

这里不需要双向绑定。评估就足够了。 – 2008-10-22 17:59:07

+0

我提交后就想过了。你不应该需要runat,但是我倾向于在测试时使用它们,然后删除它不需要的东西。 – 2008-10-22 18:28:45

0

扩展System.Web.UI.WebControls.HyperLink类,并覆盖UniqueID属性返回实际的ID:

override string UniqueID { get { return ID; } } 

使用的中继器的项目模板,这个新的用户控件。

在做的ItemDataBound:

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

确定。我用这种方式解决了问题:

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

其中,Id是绑定实体的属性。