ورود

View Full Version : سوال: چطور خبرها را در صفحه اصلی نمایش دهیم ؟



asadi.hasan
جمعه 27 بهمن 1391, 10:52 صبح
سلام دوستان؛
من میخوام در صفحه اصلی پروژه ام ،آخرین اخبار رو نمایش بدم که چند تا سوال دارم :

1)وقتی از پایگاه داده ، اخبار رو خوندیم ، چطور هر کدوم رو در یک div جدا نمایش بدیم ؟یعنی کدهای html رو ایجاد کنیم و فیلدی رو که خوندیم داخل آن بریزیم.

2)ما فقط در صفحه ی اول مقدار کمی از محتوای خبر رو نمایش میدیم. و وقتی بر روی ادامه مطلب کلیک شد ، در یک صفحه ی دیگه محتوای کامل خبر رو نمایش میدیم .خب ؛ حالا ممکن خبر دارای یک عکس و تیتر و متن باشد . اما این ها را در پایگاه داده چطور ذخیره کنیم که هنگامی که از پایگاه داده خونده میشه ، مرتب نمایش داده بشهو هیچ بی نظمی ایجاد نشه.
احتمال داره این خبر ، یک صفحه آموزشی باشه که شاید دارای کدهای برنامه نویسی هم باشد.

3)دوستان اگر درباره ی سناریوی این کار اطلاعاتی دارند ممنون میشم توضیح بدهند.

malloc
جمعه 27 بهمن 1391, 11:52 صبح
دوست عزیز شما باید از repeater یا datalist یا gridview استفاده کنید که اخبار و نشون بدید /.

و ضمنا اینجور سوالهای ساده رو میتونید با یک جستجو ساده تو اینترنت یا خوندن یه کتاب متوجه بشید .

asadi.hasan
جمعه 27 بهمن 1391, 12:13 عصر
دوست عزیز شما باید از repeater یا datalist یا gridview استفاده کنید که اخبار و نشون بدید /.

و ضمنا اینجور سوالهای ساده رو میتونید با یک جستجو ساده تو اینترنت یا خوندن یه کتاب متوجه بشید .
malloc عزی ما ارادت خاصی به شما داریم.اما این سوال ساده ای نیست.
فرض کنیم من یک جدول خبر دارم که دارای سه تافیل هست.(کد خبر ، عنوان خبر، ادامه مطلب)
من خیلی راحت میتونم ده تا خبر آخر رو از جدول بخونم و داخل یه چیزی مثل datatable یا هر چیز دیگه ای بریزم . اما نمی خوام اونا رو با یک Gridview یا repeater نمایش بدم ، بلکه میخوام هر خبر رو در یک div جداگونه تزریق بکنم تا بتونم بهتر و بیشتر مدیریتشون کنم.

و همچنین قسمت دوم سوالم :
فرض کنیم من تونستم اینا رو بخونم و در یک div نمایش بدم ، حالا وقتی کاربر خواست ادامه مطلب رو ببینه ، کد خبر رو به صفحه ی جدید میفرستم و به وسیله ی این کد ، فیلد "ادامه مطلب" رو نشون میدم. تا اینجا درست.
اما اگه ادامه ی مطلب من ، یک عکس داشته باشد ، یک تیتر داشته باشد و چند خط متن داشته باشد، چطوری مشخص کنم که تیتر را در کجای صفحه نمایش بده، عکس را در کجای صفحه و ...؟
من در این قسمت مشکل دارم .

'جنود'
جمعه 27 بهمن 1391, 19:43 عصر
دوست عزیز بعد از اینکه دیتا گرید رو به دیتابیس بایند کردی برای در هر دور خوندن هر سطر میتونی یک سری اشیا مشخص کنی
و به هر کدوم یک ساختاری بدی
برای صفحه دیگر(مثلا ادامه مطلب)
با کوئری استرینگ اطلاعاتو بفرست بعد در صفحه مقصد دریافت کن
متوجه نشدی بگو تا بیشتر راهنمایی کنم و نمونه کد اضافه کنم

csharpspider
جمعه 27 بهمن 1391, 23:48 عصر
یه دیتالیست بزار وسط صفحه یا جایی که میخوای خبر بزاری / بعد توش جدولت رو طراحی کن / بعد مقداردهی کن با (Eval) بعد یک دیتاسورس درست کن / با یه تکنلوژییی دیتاسورست رو پر کن از دیتابیست / مثلا (LINQ) یا دیتاتیبل / بدش کار میکنه / اینها رو انجام دادی بیا پیجینگ را بهت بگیم

asadi.hasan
یک شنبه 29 بهمن 1391, 22:12 عصر
از راهنمایی دوستان ممنونم.
نمیخوام بگم مثال بزارید که شما رو توی زحمت بندازم. سعی میکنم با این روش هایی که گفتید انجام بدم ، و اگه نتونستم دوباره مزاحمتون میشم که با یه مثال شفاف ترش کنید.
در ضمن ،من قبلا یک بار می خواستم در Gridview سطری رو که انتخاب شده به صفحه ی دیگه بفرستم ، نتونستم. وقتی که ستون کد مطلب رو در Gridview مخفی می کردم که کاربر نتونه ببینه، دیگه نمیتونستم اون رو از طریق کوری استرینگ بفرستم. و باید ستون کد خبر رو ظاهر می کردم و میفرستادم. به نظرتون اصلا مخفی کردن یک قسمت در برنامه های وب کار درستیه؟ و یا راه حلش چیه؟

aryadad
یک شنبه 29 بهمن 1391, 22:29 عصر
به گرید بایند کن و بعد از قابلیت Templateگرید استفاده کن و هر بلایی که می خواهی سر نمایش خبرها بده...

asadi.hasan
سه شنبه 01 اسفند 1391, 22:03 عصر
دوست عزیز بعد از اینکه دیتا گرید رو به دیتابیس بایند کردی برای در هر دور خوندن هر سطر میتونی یک سری اشیا مشخص کنی
و به هر کدوم یک ساختاری بدی
برای صفحه دیگر(مثلا ادامه مطلب)
با کوئری استرینگ اطلاعاتو بفرست بعد در صفحه مقصد دریافت کن
متوجه نشدی بگو تا بیشتر راهنمایی کنم و نمونه کد اضافه کنم
دوست عزیز؛ من اینکار رو با Repeaterانجام دادم و چیزی شدکه می خواستم ، اما نمیدونم چطوری لینک "ادامه مطلب" رو بزارم .میشه نمونه مثال بزارید؟
این هم روشی که کار کردم:

<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<div style="border:2px solid red;border-radius:5px;" >
<div ><%#Eval("Title")%></div>
<div><%#Eval("Section") %></div>
</div>
</ItemTemplate>

</asp:Repeater>
اگه میشه این کدها رو کامل کنید.و بگید چطوری رکورد انتخاب شده رو به صفحه ی دیگه بفرستم . ممنون

mostafa.hnz
چهارشنبه 02 اسفند 1391, 00:17 صبح
سلام
دوست عزیز
شما ابتدا یه repeater قرار بده،بعد یه صورت زیر تغییرش بده


<asp:Repeater ID="Repeater1" runat="server" >
<HeaderTemplate >
<table class="table1">
<tr>

<th>
<asp:Label ID="Label1" CssClass="label" Text="First Name" runat="server" ForeColor="Black"></asp:Label>
</th>
</tr>
</HeaderTemplate>

<ItemTemplate>

<tr>

<td>
<li id="submenu"><a target="_self" href='WebForm1.Aspx?CategoryID=<%#Eval("CategoryID")%>&CategoryName=<%#Eval("CategoryName")%>'><%# Eval("CategoryName", "{0}")%></a></li></a>
</td>

</tr>


</ItemTemplate>

<FooterTemplate>


</table>

</FooterTemplate>


</asp:Repeater>
قسمت اصلیش اینه که یه تگ a قرار دادم

<a target="_self" href='WebForm1.Aspx?CategoryID=<%#Eval("CategoryID")%>&CategoryName=<%#Eval("CategoryName")%>'><%# Eval("CategoryName", "{0}")%></a>
که href رو به ضفحه ایی تنظیم کردم که میخوام وقتی کاربر روی عنوان خیر کلیک کرد متن خبر بهش نشون داده یشه


زمان لود صفحه ام متغییر هام CategoryID , CategoryName مقدار دهی می شن ،وقتی کاربر روی یه لینک کلیک کرد
از مقدار متغیر CategoryID استفاده می کنم توی صفحه Webform1
به این صورت

string CateID= Request.QueryString["CategoryID"].ToString();
واز این id برای select زدن توی جدول خبر استفاده می کنم و خبر مورد نظر رو نشون میدم
امیداوارم تونسته باشم کمکت کنم