如何使用asp.net在转发器控件中获取codebehind上的hiddenfield id [英] how to get hiddenfield id on codebehind in a repeater control using asp.net
问题描述
如何使用asp.net在转发器控件中获取codebehind上的hiddenfield id。
这里是我的代码:
< asp:Repeater ID =Repeater1runat =server>
< ItemTemplate>
< div class =item缩略图>
< div class =art-im>
< a href =/ Articles.aspx?Id =<%#Eval(Id)%>>
< asp:Image runat =serverWidth =240px高度=135pxID =smrImageUrl ='<%#Picture(Eval(PicturePathId))%>'/>< / a>< / div>
< div class =art-cont>
< div class =art-head-part>
< a class =art -catehref =/ Articles.aspx?Id =<%#Eval(Id)%>>
<%#Eval(Domain)%>< / a>
< h3 class =art-tit>
< a href =/ Articles.aspx?Id =<%#Eval(Id)%>>
<%#Eval(Title)。ToString( ).Substring(0,Math.Min(45,Eval(Title)。ToString()。Length))+....%>< / a>
< ; / h3>
< / div>
< div class =art-foot-part>
< asp :LinkButton ID =linkSharerunat =serverOnClick =AdminEdit_OnClick> Share< / asp:LinkButton>
< asp:HiddenField ID =blogidrunat =serverValue ='<%#Eval(Id)%>'/>
< a id =imgsharehref =#?w = 500class =poplight1rel =弹出窗口Sharev>< span>< b> 1.3K< / b>
Shares< / span> < / a>
< / div>
< / div>
< / div>
< / ItemTemplate>
< AlternatingItemTemplate>
< div class =item large>
< div class =art-im>
< a href =/ Articles.aspx?Id =<%#Eval(Id)%>>
< asp:Image runat =serverHeight =300pxWidth =450pxID =smrImageUrl ='<%#Picture(Eval(PicturePathId))%>'/ gt ;< / a>< / div>
< div class =art-cont>
< div class =art-head-part big-cont>
< a class =art-catehref =/ Articles.aspx?Id =<%#Eval(Id)%>> <%#Eval(Domain)%>< / a>
< h3 class =art-tit>
< a href =/ Articles.aspx?Id =<%#Eval(Id)%>>
<%#Eval(Title)%>< / a>
< / h3>
< p class =art-p>
<%#Eval(Description)。ToString()。Substring(0,Math.Min(250,Eval(Description)。ToString( ).Length))+....%>
< / p>
< / div>
< ; div class =art-foot-part>
< asp:LinkButton ID =linkSharerunat =serverOnClick =AdminEdit_OnClick> Share< / asp:LinkButton>
< asp:HiddenField ID =blogidrunat =serverValue ='<%#Eval(Id)%>'/>
< a id =imgsharehref =#?w = 500class =poplight1 =popupSharev>< span>< b> 1.3 K< / b>
股份< / span> < / a>
< / div>
< / div>
< / div>
< / AlternatingItemTemplate>
< / asp:Repeater>
protected void AdminEdit_OnClick(object sender,EventArgs e)
{
HiddenField hf =(HiddenField)Repeater1.FindControl(blogid);
Response.Write( Blogid+ hf);
}
我得到了空值。
请帮帮我..
谢谢.......
how to get hiddenfield id on codebehind in a repeater control using asp.net.
here is my code:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<div class="item thumbnail">
<div class="art-im">
<a href="/Articles.aspx?Id=<%# Eval("Id")%>">
<asp:Image runat="server" Width="240px" Height="135px" ID="smr" ImageUrl='<%#Picture(Eval("PicturePathId"))%>' /></a></div>
<div class="art-cont">
<div class="art-head-part">
<a class="art-cate" href="/Articles.aspx?Id=<%# Eval("Id")%>">
<%# Eval("Domain") %></a>
<h3 class="art-tit">
<a href="/Articles.aspx?Id=<%# Eval("Id")%>">
<%# Eval("Title").ToString().Substring(0, Math.Min(45, Eval("Title").ToString().Length)) + "...."%></a>
</h3>
</div>
<div class="art-foot-part">
<asp:LinkButton ID="linkShare" runat="server" OnClick="AdminEdit_OnClick" >Share</asp:LinkButton>
<asp:HiddenField ID="blogid" runat="server" Value='<%# Eval("Id")%>' />
<a id="imgshare" href="#?w=500" class="poplight1" rel="popupSharev"><span><b>1.3K</b>
SHARES</span> </a>
</div>
</div>
</div>
</ItemTemplate>
<AlternatingItemTemplate>
<div class="item large">
<div class="art-im">
<a href="/Articles.aspx?Id=<%# Eval("Id")%>">
<asp:Image runat="server" Height="300px" Width="450px" ID="smr" ImageUrl='<%#Picture(Eval("PicturePathId"))%>' /></a></div>
<div class="art-cont">
<div class="art-head-part big-cont">
<a class="art-cate" href="/Articles.aspx?Id=<%# Eval("Id")%>"><%# Eval("Domain") %></a>
<h3 class="art-tit">
<a href="/Articles.aspx?Id=<%# Eval("Id")%>">
<%# Eval("Title") %></a>
</h3>
<p class="art-p">
<%# Eval("Description").ToString().Substring(0, Math.Min(250, Eval("Description").ToString().Length)) + "...."%>
</p>
</div>
<div class="art-foot-part">
<asp:LinkButton ID="linkShare" runat="server" OnClick="AdminEdit_OnClick" >Share</asp:LinkButton>
<asp:HiddenField ID="blogid" runat="server" Value='<%# Eval("Id")%>' />
<a id="imgshare" href="#?w=500" class="poplight1" rel="popupSharev"><span><b>1.3K</b>
SHARES</span> </a>
</div>
</div>
</div>
</AlternatingItemTemplate>
</asp:Repeater>
protected void AdminEdit_OnClick(object sender, EventArgs e)
{
HiddenField hf = (HiddenField)Repeater1.FindControl("blogid");
Response.Write("Blogid" + hf);
}
I got null value.
Please help me..
Thank you.......
推荐答案
尝试下面
try below
var btn = (Button)sender;
var item = (RepeaterItem)btn.NamingContainer;
var hf = (HiddenField) item.FindControl("blogid");
Response.Write("Blogid" + hf.Value);
隐藏字段位于项目模板内,必须先获取项目,然后在此项目中找到控件。看看这个: Find + control + inside + of + a +转发器+ C + [ ^ ]
the hiddenfield is inside the item template, must get the item first, then find the control in this item. Check this out: Find+control+inside+of+a+repeater+C+[^]
这篇关于如何使用asp.net在转发器控件中获取codebehind上的hiddenfield id的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!