PDA

View Full Version : استفاده از ریپیتر در این کد



masud8002k
یک شنبه 13 فروردین 1391, 08:34 صبح
سلام من چطوری میتونم ریپتر رو جایگزین این کدهای html کنم دیتا بیسشم آماده است
فقط مونده اون کدی که در htmlریپیتر باید جایگزاری کنم اینو بلد نیستم
<li><a href="http://www..com">صفحه اصلی</a></li>
<li><a href="#" class="selected">Parent 02 </a>
<ul>
<li><a href="#">Item 01</a></li>
<li><a href="#" class="selected">Item 02</a></li>
<li><a href="#">Item 03</a></li>
</ul>
<div class="clear">
</div>
</li>
<li><a href="#">Parent 03 > </a>
<ul>
<li><a href="#">Item 04</a></li>
<li><a href="#">Item 05</a></li>
<li><a href="#">Item 06</a></li>
<li><a href="#">Item 07</a></li>
</ul>
<div class="clear">
</div>
</li>
<li><a href="#">Parent 04</a></li>

p.yazdkhasti
یک شنبه 13 فروردین 1391, 17:18 عصر
سلام
با توجه به نمونه کد Html ارسال شده توسط شما لازم است دو Repeater استفاده شود که یکی از آن ها داخل دیگری است. اولی برای نمایش سطر های اصلی و دیگری برای نمایش سطر های داخلی. لطفا از نمونه کد زیر استفاده نمایید:


<asp:Repeater ID="firstList" runat="server" >
<ItemTemplate>
<li><a href="#"><%# Eval("") %></a>
<ul>
<asp:Repeater ID="secondList" DataSource='<%# Eval("") %>' runat="server">
<ItemTemplate>

</ItemTemplate>
</asp:Repeater>
</ul>
<div class="clear">
</div>
</li>
</ItemTemplate>
</asp:Repeater>

در لیست اول در قسمت Eval نام Property مربوط به هر یک از آیتم های Datasource خود را وارد نمایید و در Eval دوم لازم است یکی از property های آیتم Datasource اول به عنوان Datasource مربوط به Repeater دوم استفاده شود.

masud8002k
یک شنبه 13 فروردین 1391, 19:08 عصر
دوست عزیز ممنون اما یه مشکلی هست اگر از دو ریپیتر استفاده کنیم برای ریپیتر دوم هم کد فراخوانی رو مینویسم از دیا بیس ولی قبول نمکینه اینجوری
protected void Page_Load(object sender, EventArgs e)
{
string cnf=System.Configuration.ConfigurationManager.Conn ectionStrings["saman"].ToString();
SqlConnection con = new SqlConnection(cnf);
string str = "select * from TBLMenu";
SqlCommand cmd = new SqlCommand(str,con);
con.Open();
SqlDataReader sdr = cmd.ExecuteReader();
Repeater1.DataSource = sdr;
Repeater1.DataBind();
con.Close();

SqlConnection con2 = new SqlConnection(cnf);
string str2 = "select * from TBLMenu";
SqlCommand cmd2 = new SqlCommand(str2, con2);
con2.Open();
SqlDataReader sdr2 = cmd2.ExecuteReader();
Repeater2.DataSource = sdr2;
Repeater2.DataBind();
con2.Close();
}
اما نکته ای که هست در دیتا بیس من دو فیلد وجو داره که یکی با اعداد پره ParenID(برای مشخص کردن منو و زیر منوهاش)و دیگری )اسم منو ها )MenuName
یکی هم که خود id جدوله
نتونستم بنویسم
کد ریپیتر هم شد
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<li><a href="#">
<%#Eval("MenuName") %></a>
<ul>
<asp:Repeater ID="Repeater2" DataSource='<%# Eval("MenuName") %>' runat="server">
<ItemTemplate>
</ItemTemplate>
</asp:Repeater>
</ul>
</li>
</ItemTemplate>

</asp:Repeater>
ممنون