如何从ASP.NET转发器中获取绑定项

Kye*_*Kye 3 c# asp.net data-binding repeater

我必须设置一个LinkBut​​ton的OnClientClick属性,但在LinkBut​​ton绑定之前我不知道这个值是什么.我试图在转发器绑定时设置值,但我无法训练如何获取'boundItem/dataContext'值...

<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 ???
}
Run Code Online (Sandbox Code Playgroud)

反正有没有找出当前行绑定项目是什么?

Ser*_*jev 5

也许你需要使用ItemDataBound事件.它提供了具有DataItem可用的RepeaterItemEventArgs参数

this.Repeater1.ItemDataBound += Repeater1_ItemDataBound;

void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    var dataItem = e.Item.DataItem;
}
Run Code Online (Sandbox Code Playgroud)