<asp:Repeater ID="rptDataList" runat="server" OnItemDataBound="RepeaterItemDataBound">
<ItemTemplate>
<h3>
<a href="#">
<asp:Label ID="lblGroupName" runat="server" >
<%# Eval("Id") %>
</asp:Label>
</a>
</h3>
<div>
<asp:GridView ID="GridViewList" runat="server" AutoGenerateColumns="False"
OnRowDataBound="RowDataBound" >
<Columns>
<asp:TemplateField>
<ItemStyle Width="100px" />
<HeaderStyle HorizontalAlign="Left" />
<HeaderTemplate>
ID
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="#"><%# Eval("Id") %></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Student Name" DataField="Studname" />
<asp:BoundField HeaderText="Phone" DataField="Phone" />
</Columns>
</asp:GridView>
</div>
</ItemTemplate>
</asp:Repeater>
后台直接绑定了Repeater的数据源,h3里头的lblGroupName能正常显示
<asp:Label ID="lblGroupName" runat="server" >
<%# Eval("Id") %>
</asp:Label>Gridview的数据源是以lblGroupName的值为参数的。
我用以下两种方法均不成功,都是获取不到lblGroupName,特来请教大伙。1、
protected void RepeaterItemDataBound(object sender, RepeaterItemEventArgs e)
{
string phone = Pho_numTb.Text.Trim();
var da2 = //……数据源
Label lb = e.Item.FindControl("lblGroupName") as Label;
GridView gv = e.Item.FindControl("GridViewList") as GridView;
gv.DataSource = da2.Getdata(phone, lb.Text.Trim());
gv.DataBind();
}2、
public void BindSearchAddrList()
{
string phone = Pho_numTb.Text.Trim();
var da = //……数据源
var saa = da.GetSch_Name(phone);
rptDataList.DataSource = saa;
rptDataList.DataBind(); foreach(RepeaterItem rpi in rptDataList.Items)
{
Label lb = (Label)rpi.FindControl("lblGroupName");
GridView gv = rptDataList.FindControl("GridViewList") as GridView;
gv.DataSource = da.Getdata(phone, lb.Text.Trim());
gv.DataBind();
}
}
<ItemTemplate>
<h3>
<a href="#">
<asp:Label ID="lblGroupName" runat="server" >
<%# Eval("Id") %>
</asp:Label>
</a>
</h3>
<div>
<asp:GridView ID="GridViewList" runat="server" AutoGenerateColumns="False"
OnRowDataBound="RowDataBound" >
<Columns>
<asp:TemplateField>
<ItemStyle Width="100px" />
<HeaderStyle HorizontalAlign="Left" />
<HeaderTemplate>
ID
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="#"><%# Eval("Id") %></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Student Name" DataField="Studname" />
<asp:BoundField HeaderText="Phone" DataField="Phone" />
</Columns>
</asp:GridView>
</div>
</ItemTemplate>
</asp:Repeater>
后台直接绑定了Repeater的数据源,h3里头的lblGroupName能正常显示
<asp:Label ID="lblGroupName" runat="server" >
<%# Eval("Id") %>
</asp:Label>Gridview的数据源是以lblGroupName的值为参数的。
我用以下两种方法均不成功,都是获取不到lblGroupName,特来请教大伙。1、
protected void RepeaterItemDataBound(object sender, RepeaterItemEventArgs e)
{
string phone = Pho_numTb.Text.Trim();
var da2 = //……数据源
Label lb = e.Item.FindControl("lblGroupName") as Label;
GridView gv = e.Item.FindControl("GridViewList") as GridView;
gv.DataSource = da2.Getdata(phone, lb.Text.Trim());
gv.DataBind();
}2、
public void BindSearchAddrList()
{
string phone = Pho_numTb.Text.Trim();
var da = //……数据源
var saa = da.GetSch_Name(phone);
rptDataList.DataSource = saa;
rptDataList.DataBind(); foreach(RepeaterItem rpi in rptDataList.Items)
{
Label lb = (Label)rpi.FindControl("lblGroupName");
GridView gv = rptDataList.FindControl("GridViewList") as GridView;
gv.DataSource = da.Getdata(phone, lb.Text.Trim());
gv.DataBind();
}
}
解决方案 »
- 同一个IIS上怎么发布多个ASP.NET MVC网站
- HttpHandler 一般性处理程序
- 各位大神,求救。用GridView 实现。如何动态的添加 行的双击事件。和统计行
- asp.net 如何群发EMAIL?
- 关于table表的问题
- 关于使用存储过程,返回数据集,传递参数时的问题。
- 在使用vs2005+sql2005中连接数据库遇到的问题
- 如何在本aspx页面使用另一个页面定义的public变量?
- 以内嵌的方式嵌入其他服务器上的页面,登录时,无法写入session!
- 从.aspx向另一个.aspx进行Submit后出现错误,如下:ViewState 无效,怎样解决,谢谢!
- asp.net模式窗体中点击按钮信息提示及关闭问题
- 用,还是不用ASP.NET MVC框架?
</asp:Label>
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string phone = Pho_numTb.Text.Trim();
var da2 = //……数据源
Label lb = e.Item.FindControl("lblGroupName") as Label;
GridView gv = (GridView )e.Item.FindControl("GridViewList");
gv.DataSource = da2.Getdata(phone, lb.Text.Trim());
gv.DataBind();
}
}
Label lb = e.Item.FindControl("lblGroupName") as Label;
是可以获取到值,你用
Response.Write(lb.Text);
看看是否真的获取不到,还是GridView的数据绑定有问题
string lb = (e.Item.FindControl("lblGroupName") as Label).toString();不想在前台页面让你的ID显示出来的话可以加个样式给他隐藏起来O(∩_∩)O~
方法很多没必要吊在一棵树上吗