简体   繁体   中英

How to to get hiddenfield value in ItemTemplate

Just want to ask how can I find hiddenfield in repeater because my problem I have button and I want to get the associate hiddenfield inside ItemTemplate because I get null value when I try to get hiddenfield value

  <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);
}

Try this, change you button tag to pass id as CommandArgument value

<asp:ImageButton ID="imgbtnBookmark" runat="server"   
    OnClick="imgbtnBookmark_Click" 
    CommandArgument='<%#  Eval("Id") %>'/>

in your button click event you can access id using

bm.Resoursce.ResourceID = Convert.ToInt32(e.CommandArgument.ToString());

Change rptGroup.FindControl("hf_resID") as HiddenField; to e.Item.FindControl("hf_resID")....

I hope this link will help you .

jquery

 function showid(dllval) {
            var ID = $(dllval).parent().parent().find('[id*="hiddenID"]').val();
alert(ID)
}

asp.net

<asp:DropDownList ID="ddl" runat="server" onclick="showid(this);" >
 </asp:DropDownList>
<asp:HiddenField ID="hiddenID" runat="server" Value='<%#Eval("ID")%>' />

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM