我想在一个repeater中嵌套另外一个repeater。想给里层的repeater绑定数据源,却无法引用该对象。请高手指教!
解决方案 »
- 请问在visual studio2008中如何将html控件转化为服务器控件!
- XP下IIS配置问题
- 请教在DataGrid控件的模板列中怎样得到事件?谢谢!
- image 服务器控件动态绑定问题 在线等!
- 如何在后代码中修改页面的标题 <title>varible</title>?
- --------一个简单的 timeeeeeeeeeeeeeeeee问题----------
- 服务器控件分页的问题
- 无缝滚动的问题,大哥们绐小弟看看,我都傻眼了
- 为什么我的aspx页面会出现这个错误?无法找到脚本库"/aspnet_client/system_web/1_0_3705_0/WebUIValidation.js",...
- treeview中用存储过程怎么实现啊??
- 求页面最小化代码
- 20分的一道难题..多条件AspNetPager的
//aspx
<asp:repeater id="repeaterMain" Runat="server" OnItemDataBound="repeaterMain_ItemDataBound">
<ItemTemplate>
<a href='<%#"Details.aspx?au_id=" + DataBinder.Eval(Container,"DataItem.au_id")%>'><%#DataBinder.Eval(Container,"DataItem.au_id")%></a>
<asp:repeater ID="repeaterSub" Runat="server">
<ItemTemplate>
<a href='<%#"Details.aspx?title_id=" + DataBinder.Eval(Container,"DataItem.title_id")%>'><%#DataBinder.Eval(Container, "DataItem.title_id")%></a>
</ItemTemplate>
</asp:repeater>
</ItemTemplate>
</asp:repeater>//aspx.cs
private void BindMain()
{
SqlConnection cn = new SqlConnection(@"server=.\SQLExpress;uid=sa;pwd=password;database=pubs");
SqlDataAdapter da = new SqlDataAdapter("select au_id from authors", cn);
DataSet ds = new DataSet();
cn.Open();
da.Fill(ds);
repeaterMain.DataSource = ds.Tables[0].DefaultView;
repeaterMain.DataBind();
cn.Close();
} protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindMain();
}
} protected void repeaterMain_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string au_id = ((DataRowView)e.Item.DataItem).Row["au_id"].ToString();
Repeater repeaterSub = (Repeater)e.Item.FindControl("repeaterSub");
if (repeaterSub != null)
{
SqlConnection cn = new SqlConnection(@"server=.\SQLExpress;uid=sa;pwd=password;database=pubs");
SqlCommand cmd = new SqlCommand("select title_id from titleauthor where au_id = @au_id", cn);
cmd.Parameters.Add("@au_id", SqlDbType.VarChar, 11).Value = au_id;
cn.Open();
repeaterSub.DataSource = cmd.ExecuteReader();
repeaterSub.DataBind();
cn.Close();
}
}
}