PDA

View Full Version : نمایش محصولات جدید فروشگاه به شکل زیر



mostafa_tak2000
چهارشنبه 06 آذر 1392, 18:26 عصر
سلام به همه دوستان عزیز
من می خوام در صفحه اول سایت آخرین محصولات اضافه شده به فروشگاه را به شکل زیر نمایش بدهد . البته من میخوام از Grid Wiev استفاده کنم . اگه ابزار دیگری مناسب این کار هست بفرمایید . به صورت یک ستونی مشکل ندارم ولی نمیتونم که محصولات را در سه ستون یا بیشتر و کمتر به شکل زیر نمایش بدهد .
دوستان در صورت امکان بصورت کامل تر راهنماییم کنید با تشکر از همه گی .
113282

pedramb66
چهارشنبه 06 آذر 1392, 20:11 عصر
بهتره از دیتا لیست استفاده کنید و تو قسمت edite template طرحی رو که دوست دارید پیاده کنید.یک خاصیت هم داره به اسم repeat columns که برا نمایش تعداد سطون هاست.فکر کنم میتونید تو متد item command اطلاعات رو از کنترل ها بخونید و با کویری استرینگ بفرستید صفخه ای که میخواید.مثلا:string Querystring = "test.aspx?";
Querystring += "ID=" + (DataList1.Items[e.Item.ItemIndex].FindControl("Label2")as Label).Text;
Response.Redirect(Querystring);

که ID رو از label 2 که از توع label هست میخونه.

yayan85
چهارشنبه 06 آذر 1392, 22:22 عصر
<asp:DataList ID="DataList1" runat="server" DataKeyField="id"
DataSourceID="LinqDataSource1" RepeatColumns="2"
RepeatDirection="Horizontal" Width="720px">
<ItemTemplate>
<div id="patern" style=" width:330px; margin-right:10px; background-image:url(images/headerboxbody.png); background-color:AliceBlue; background-repeat:repeat; border-radius:0.5em; padding-right:20px;">
<br />

نام محصول:
<asp:Label ID="maghtaLabel" runat="server" Text='<%# Eval("product_name") %>' Font-Size="Medium" ForeColor="#990000" />
<br />
<br />
کد محصول:
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Product_ID") %>' />
<br />
<div id="im">
<ul class="gallery clearfix">
<li> <a href='<%# Eval("id","showproduct.aspx?Code={0}") %>' rel="prettyPhoto" title="<%# Eval("product_name") %>"><img src='<%# Eval("pic1") %>' width="300" height="240" alt="<%# Eval("product_name") %>" /></a></li>

</ul>
</div>
<br />
<table style="width:80%;">


<tr>
<td>
<div id="img1">
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl="~/images/pishibut1.png"
PostBackUrl='<%# Eval("id","order.aspx?Code={0}") %>'
onclick="ImageButton1_Click" />
</div>
</td>
<td>
<div id="img2">
<asp:ImageButton ID="ImageButton3" runat="server"
ImageUrl="~/images/pishibut2.png" PostBackUrl='<%# Eval("id","showproduct.aspx?Code={0}") %>' />
</div>
</td>

</table>
<br />

<br />
</div>
<br />

</ItemTemplate>

<SeparatorStyle BorderStyle="Dashed" BorderWidth="1px" />
</asp:DataList>



<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="pishi.pishipetDataContext" EntityTypeName=""
TableName="TBL_products" OrderBy="ID desc">

</asp:LinqDataSource>

این کد یه چیزی شبیه به عکس شما حاصلش هست. البته یکم عکس و وکادر باید اضافه کنید. مال من ساده هست. ولی کلیاتش همینه. برای ارتباط با دیتابیس هم چون من از LINQ استفاده می کنم اینجا Linqdatasource گذاشتم. شما اگه از دیتا ست یا ado استفاده می کنید باید کانکشن مربوطه رو برای اتصال به دیتابیس بذارید.
شما RepeatColumns رو 4 باید بذارید.
اگه می خواهید که که مثلا 20 تا جدید ترین ها رو نشون بده، باید توی کد بیهایند کد بنویسید



protected void LinqDataSource1_Selecting1(object sender, LinqDataSourceSelectEventArgs e)
{
sadiartschoolDataContext db = new sadiartschoolDataContext();
e.Result = db.TBL_news.OrderByDescending (p => p.id ).Take(20);{

البته باز کد بالا برای Linq هست. با ado که راحت تره. select top 20 * from.......................

این تکه : Text='<%# Eval("product_name") %>' ارتباط لیبل با فیلد دیتا بیس رو بر قرار می کنه.
این کد هم:
'<%# Eval("id","order.aspx?Code={0}") %>'
از جدول فیلد id رو می گیره و با query string با نام Code به صفحه مربوطه که اینجا order.aspx هست می فرسته حالا یا برای خرید یا نمایش اطلاعات کاملتر و ...