monire.6767
سه شنبه 12 دی 1391, 12:25 عصر
سلام من یه ریپتر داخل یه ریپیتر دیگه استفاده کردم که ریپر داخلیه به شرط ایتم های ریپر اولی پر میشه
این اتفاق میوفته تو کد هام فقط موقع نمایش یه منو با ساب منو هاش نمایش داده میشود کسی هست بدونه اشکال کارم کجاست
دیزاین
<nav>
<ul>
<li><a href="#">محصولات</a>
<asp:Repeater ID="categoryRepeater" runat="server" OnItemDataBound="CategoryRepeater_bound" DataSourceID="SqlDataSource1" >
<ItemTemplate>
<ul>
<li><a href=""> <asp:Label ID="lblArea" runat="server" Text='<%# Eval("dase") %>'></asp:Label></a>
<ul>
<asp:Repeater ID="childRepeater" runat="server">
<ItemTemplate>
<li><a href="#"> <asp:Label ID="lblArea" runat="server" Text='<%# Eval("model") %>'></asp:Label></a></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</li>
</ul>
</li>
</ItemTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:cameraConnectionString %>"
SelectCommand="SELECT * FROM [product] WHERE ([shakhe] = @shakhe)">
<SelectParameters>
<asp:Parameter DefaultValue="دوربین" Name="shakhe" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
</ul>
</nav>
کد:
protected void CategoryRepeater_bound(object source, RepeaterItemEventArgs e)
{
SqlConnection myConnection =
new SqlConnection(ConfigurationManager.ConnectionStrin gs["cameraConnectionString"].ConnectionString);
myConnection.Open();
RepeaterItem item = e.Item;
if (item.ItemType == ListItemType.AlternatingItem || item.ItemType == ListItemType.Item)
{
//for (int i = 0; i < categoryRepeater.Items.Count; i++)
//{
Repeater rep = (Repeater)item.FindControl("childRepeater");
Label lblArea = (Label)item.FindControl("lblArea");
string b = "Select * FROM [product] WHERE dase = '" + lblArea.Text + "'";
SqlCommand myCommand2 = new SqlCommand(b, myConnection);
SqlDataAdapter Adpt3 = new SqlDataAdapter(myCommand2);
DataSet ds = new DataSet();
Adpt3.Fill(ds, "Table1");
rep.DataSource = ds.Tables["Table1"];
rep.DataBind(); }
//}
}
این اتفاق میوفته تو کد هام فقط موقع نمایش یه منو با ساب منو هاش نمایش داده میشود کسی هست بدونه اشکال کارم کجاست
دیزاین
<nav>
<ul>
<li><a href="#">محصولات</a>
<asp:Repeater ID="categoryRepeater" runat="server" OnItemDataBound="CategoryRepeater_bound" DataSourceID="SqlDataSource1" >
<ItemTemplate>
<ul>
<li><a href=""> <asp:Label ID="lblArea" runat="server" Text='<%# Eval("dase") %>'></asp:Label></a>
<ul>
<asp:Repeater ID="childRepeater" runat="server">
<ItemTemplate>
<li><a href="#"> <asp:Label ID="lblArea" runat="server" Text='<%# Eval("model") %>'></asp:Label></a></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</li>
</ul>
</li>
</ItemTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:cameraConnectionString %>"
SelectCommand="SELECT * FROM [product] WHERE ([shakhe] = @shakhe)">
<SelectParameters>
<asp:Parameter DefaultValue="دوربین" Name="shakhe" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
</ul>
</nav>
کد:
protected void CategoryRepeater_bound(object source, RepeaterItemEventArgs e)
{
SqlConnection myConnection =
new SqlConnection(ConfigurationManager.ConnectionStrin gs["cameraConnectionString"].ConnectionString);
myConnection.Open();
RepeaterItem item = e.Item;
if (item.ItemType == ListItemType.AlternatingItem || item.ItemType == ListItemType.Item)
{
//for (int i = 0; i < categoryRepeater.Items.Count; i++)
//{
Repeater rep = (Repeater)item.FindControl("childRepeater");
Label lblArea = (Label)item.FindControl("lblArea");
string b = "Select * FROM [product] WHERE dase = '" + lblArea.Text + "'";
SqlCommand myCommand2 = new SqlCommand(b, myConnection);
SqlDataAdapter Adpt3 = new SqlDataAdapter(myCommand2);
DataSet ds = new DataSet();
Adpt3.Fill(ds, "Table1");
rep.DataSource = ds.Tables["Table1"];
rep.DataBind(); }
//}
}