如何在repeater1_ItemDataBound中访问转发器的DataItem值

时间:2012-03-05 15:59:14

标签: asp.net repeater

如何在File_Name1中访问repeater1_ItemDataBound的值。

<asp:Repeater ID="repeater1" runat="server">

   <input type="hidden" id="filenameid" 
               value="<%#DataBinder.Eval(Container,"DataItem.File_Name1") %>" />

</asp:Repeater>

我尝试了很多。

3 个答案:

答案 0 :(得分:5)

确保您的输入是服务器控件<asp:HiddenField runat="server" ID="filenameid"/>,然后在repeater1_ItemDataBound事件中使用:

HiddenField filenameid = e.DataItem.FindControl("filenameid") as HiddenField;

您可以访问其值。

希望它有所帮助。

答案 1 :(得分:0)

我可以看到你忘记了ItemTemplate

<asp:Repeater ID="repeater1" runat="server">
<ItemTemplate>
        <input type="hidden" id="filenameid" 
                                   value="<%#DataBinder.Eval(Container,"DataItem.File_Name1") %>" />
</ItemTemplate>
</asp:Repeater>

答案 2 :(得分:0)

protected void repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
     if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
     {
          //((YourClass)e.Item.DataItem).PropertyName
     }
}