1

私の問題にはボタンがあり、hiddenfield値を取得しようとするとnull値を取得するため、ItemTemplate内の関連するhiddenfieldを取得したいので、リピーターでhiddenfieldを見つける方法を尋ねたいだけです

  <asp:Repeater ID="rp_resList" runat="server" OnItemDataBound="rp_resList_ItemDataBound">
            <ItemTemplate>
                <div class="resourcesResult">
                    <asp:HiddenField ID="hf_resID" runat="server" Value='<%#  Eval("Id") %>' />
                    <a href='<%#  Eval("pageID") %>'><%#  Eval("name") %></a>
                    <br />
                    <asp:Literal ID="litSummary" runat="server" Text='<%#  Eval("summary") %>'></asp:Literal>
                    <br />
 <%--                   <asp:Repeater ID="rp_tagsSkill" runat="server">
                        <ItemTemplate>
                            <h6>
                                <%#  Eval("Description") %>

                            </h6>
                        </ItemTemplate>
                    </asp:Repeater>--%>
                    <asp:Repeater ID="rp_tagsTopics" runat="server">
                        <ItemTemplate>
                            <h6>
                                <%#  Eval("Description") %>

                            </h6>
                        </ItemTemplate>
                    </asp:Repeater>
                    <div id="controls">
                        <asp:ImageButton ID="imgbtnBookmark" runat="server"   OnClick="imgbtnBookmark_Click" />
                        <asp:DropDownList ID="ddlGroup" runat="server" DataSourceID="SqlDS_Groups" DataTextField="name" DataValueField="id" AppendDataBoundItems="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" >
<asp:ListItem Value="-1">Select Group</asp:ListItem>

protected void imgbtnBookmark_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
    Bookmark bm = new Bookmark();
    HiddenField hiddenField = rptGroup.FindControl("hf_resID") as HiddenField;
    bm.UserID =  
    Guid.Parse(Membership.GetUser(HttpContext.Current.User.Identity.Name).ProviderUserKey.ToString());
    bm.Resoursce.ResourceID = Convert.ToInt32(hiddenField.Value);
    Bookmark.Insert(bm);
}
4

3 に答える 3

0

rptGroup.FindControl("hf_resID") as HiddenField;に 変更e.Item.FindControl("hf_resID")....

このリンクがお役に立てば幸いです。

于 2013-05-07T18:37:41.570 に答える