我必须设置LinkButton的OnClientClick属性,但我不知道此值是什么,直到LinkButton被绑定。我想,当中继器结合设置的值,但我不能锻炼如何获得“boundItem/DataContext的”价值......如何从ASP.NET中继器获取绑定项目
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<asp:LinkButton Text="HelloWorld" ID="Hyper1" runat="server" OnDataBinding="Repeater1_DataBinding" >
</asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
protected void Page_Load(object sender, EventArgs e)
{
var list = new List<TestObject>();
list.Add(new TestObject() {TestValue = "testing1"});
list.Add(new TestObject() { TestValue = "testing2" });
list.Add(new TestObject() { TestValue = "testing3" });
this.Repeater1.DataSource = list;
this.Repeater1.DataBind();
}
public void Repeater1_DataBinding(object sender, EventArgs e)
{
var link = sender as HyperLink;
//link.DataItem ???
}
反正有没有发现什么束缚当前行项目是?
您可以将“var dataItem = ...”部分放入if语句中,以检查它是否为Item,Header或Footer记录。例如,如果((e.Item.ItemType == ListItemType.Item)||(e.Item.ItemType == ListItemType.AlternatingItem)){...} – NotMe 2010-06-23 18:46:03
“DataBinding”是正确的事件,因为他想影响直接控制'HyperLink'。这听起来像他不知道如何评估字段值以将其应用于“HyperLink”控件。 – Kelsey 2010-06-23 18:46:56