我必須設置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