ورود

View Full Version : سوال در مورد روش نمایش رکورد ها که سایت ایستگاه و امثال آن استفاده کردن



mmnoody2006
پنج شنبه 05 فروردین 1389, 21:33 عصر
با سلام
چه طور میتونم رکورد هامو مثل سایت ایستگاه (http://istgah.com) و یا نیاز روز (http://niazerooz.com) در یک جدول قرار بدم؟در هر خانه هم چند فیلد از رکورد باشه؟البته روش نیاز روز خیلی جالبه چون از div استفاده می کنه فکر کنم باید
به datatable مربوط باشه

Alireza_Salehi
جمعه 06 فروردین 1389, 02:05 صبح
روش اول:
DataList
روش دوم:
DataList + CSS Friendly
روش سوم:
با استفاده از Repeater های تو در تو یا روشهای دیگه خودتون لیست رو تولید کنید.

mmnoody2006
جمعه 06 فروردین 1389, 09:45 صبح
دوست عزیز روش های شما رو خودم دارم استفاده می کنم ولی این سایت ها از روش دیگه ای استفاده می کنن شما نیاز روز رو ببین هر خونه از یه بدنه div تشکیل شده روش خیلی جالبیه چه از نظر زیبایی چه از نظر موتورهای جستجو و چه از نظر سرعت بار گذاری ...
لطفا اگه کسی اطلاعاتی داره کمک کنه البته من یه چیزایی پیدا کردم که بیشتر این کارهارو با datatable و تبدیل اون به جدول html این کار رو می کنن

mmnoody2006
جمعه 06 فروردین 1389, 19:13 عصر
نا امید کننده نیست که هیچ کس نمی تونه کمک کنه ؟
آقا اگه حتی ایده ای هم دارید بگید بازم ممنون می شم

Alireza_Salehi
جمعه 06 فروردین 1389, 22:59 عصر
این دو تا سایت خیلی هم زیبا و کارآمد نیستند بسیار بهینه تر هم میشه چنین ظاهری را تولید کرد، اون هم فقط با ترکیب div و Repeater و css

mmnoody2006
شنبه 07 فروردین 1389, 15:53 عصر
این دو تا سایت خیلی هم زیبا و کارآمد نیستند

منظور من تولید این نوع جداول بدون کدهای اضافی asp.net هست
اگر کد این سایت ها رو ببینید بصورت کامل می شه گفت فقط html و java script خالصه

sahele_sheni
شنبه 07 فروردین 1389, 16:47 عصر
دوست عزیز همهٔ مواردی که گفته شد بد از کامپایل شدن توسط وب سرور به صورت کد htmlبه clientفرستاده می‌شه . شما که انتظار نداشتی‌ با باز کردن سایت نیاز روز کد‌های aspاون رو ببینی‌ !!!!؟

mmnoody2006
شنبه 07 فروردین 1389, 17:20 عصر
منظور من تولید این نوع جداول بدون کدهای اضافی ASP.NET هست
اگر کد این سایت ها رو ببینید بصورت کامل می شه گفت فقط html و java script خالصه

عزیز جان شما خوب بخون بعد نظرتو بگو !!!
منظور من اثراتی هست که asp.net بر روی کد html میزاره


<table id="ctl00_ContentPlaceHolder1_DataList1"

مثل اینکه کسی نمی خواد ایده ای بده واقعا :عصبانی++:

sahele_sheni
شنبه 07 فروردین 1389, 20:00 عصر
دوست عزیز برای اینکار صفحه ای رو که می‌خوای با table یا div طراحی کن و بهشون id بده و همچنین runat=serve . حالا توی قسمت code behind صفحه داده هارو با هر روشی‌ که می‌خوای از db بخون و به عناصر روی صفحه بفرست ... اگه هم بخوای paging واسش بزاری میتونی با query string یا چیزای دیگه شمارهٔ صفحه هات رو جابجا کنی .....که در این صورت هم زمانی صرف واکشی این داده‌ها می‌شه .. ولی اگه از جاواسکریپت برای واکشی داده هات استفاده کنی‌ دیگه خیلی‌ سبک می‌شه صفحهٔ مورد نظرت .

موفق باشید .

mmnoody2006
شنبه 07 فروردین 1389, 21:36 عصر
دوست عزیز برای اینکار صفحه ای رو که می‌خوای با table یا div طراحی کن و بهشون id بده

دوست عزیز ! واقعا از ایده فوق العاده (:گیج:) شما متشکرم شما یا خیلی مبتدی هستی یا ما رو گرفتی...

mmnoody2006
شنبه 07 فروردین 1389, 21:42 عصر
دوستان یه ایده ای که دارم اینه که بوسیله یه for این کارو کنم (البته از طریق append کردن کدهای html به داخل صفحه مورد نظر)

hamid1988
شنبه 07 فروردین 1389, 23:00 عصر
دوستان یه ایده ای که دارم اینه که بوسیله یه for این کارو کنم (البته از طریق append کردن کدهای html به داخل صفحه مورد نظر)
دوست عزیز، دوران For دیگه گذشته!
وقتی Repeater، GridView و...هستند، چه نیازی به For هست؟!
شما یک UserControl ایجاد کن و با GridView و یا.... تکرارش کن!، اما در مورد اینکه ممکنه کدها به اصطلاح شما تر و تمیز (با Idهایی که خود DotNet تولید می کنه) درنیاد، چه مشکلی دارین؟!:متفکر:

clover
شنبه 07 فروردین 1389, 23:30 عصر
پاسخ شما در چند پست قبل توسط دوست عزیز arsp_2004 (http://barnamenevis.org/forum/member.php?u=33355) داده شده.

این دو تا سایت خیلی هم زیبا و کارآمد نیستند بسیار بهینه تر هم میشه چنین ظاهری را تولید کرد، اون هم فقط با ترکیب div و Repeater و css

شما یک بار از Repeater استفاده کنید تا متوجه بشید. این یکی از مزایای Repeater هست که کد شما را به صورت خالص و بدون هیچ اضافاتی نشون میده.
داخل Repeater هم به جای استفاده از کنترل های asp از المنت های html استفاده کنید. به این شکل :


<div class="content-box">
<h2 class="title"><%# Eval("Title") %></h2>
<p class="content"><%# Eval("Content") %></p>
</div>

نیازی به دادن id یا "runat="server یا کد نویسی و یا هیچ چیز دیگه ای نیست.

موفق باشید.

Alireza_Salehi
یک شنبه 08 فروردین 1389, 00:10 صبح
راه حل مناسب استفاده از Repeater هستش، اگر هم خودتون دستی اقدام به تولید کد کنید در نهایت از لحاظ کم شدن حجم کد یا بالا رفتن کارائی تاثیر چندانی نخواهد داشت.
البته کلاسهائی مثل StringBulder و HtmlTextWriter و امثالهم برای انجام این کار قابل استفاده هستند.

با یک مقدار خلاقیت و ترکیب کد های HTML و CSS و بدون استفاده از کنترل های ASP.NET به راحتی می شود چنین سایتی طراحی کرد.

تنها ID که دیده می شود هم همان ID مربوط به Repeater خواهد بود.

mmnoody2006
یک شنبه 08 فروردین 1389, 19:34 عصر
arsp_2004 (http://barnamenevis.org/forum/member.php?u=33355) و clover (http://barnamenevis.org/forum/member.php?u=106829) جان دمتان گرم نمی دونم چرا تا الان متوجه چنین کنترل باحالی نبودم :قهقهه:
مشکل ساده سازی کد حل شده و سرعت مناسبی هم داره

mmnoody2006
دوشنبه 09 فروردین 1389, 10:59 صبح
کسی منبع کامل آموزشی در مورد Repeater داره ؟؟؟

mmnoody2006
دوشنبه 09 فروردین 1389, 15:11 عصر
آقا یه مشکل بزرگ پیش اومده ...
من وقتی از datalist یا Repeater استفاده می کنم محتویات رو داخل یه جدول نشون میده یعنی خودش یه جدول می سازه و محتویاتی که من براش نوشتم رو داخل اون مرتب می کنه ؟؟

mmnoody2006
دوشنبه 09 فروردین 1389, 20:28 عصر
چرا کسی کمک نمی کنه ؟؟؟

Alireza_Salehi
سه شنبه 10 فروردین 1389, 13:10 عصر
از CSS Friendly استفاده کنید یا صبر کنید نسخه چهار ASP.NET منتشر شود.

http://www.asp.net/CssAdapters/

البته CSS Friendly اشکالاتی هم داره ولی در موارد زیادی کدهای تمیز تری نسبت به کنترل های ASP.NET تولید میکنه.

hamid1988
سه شنبه 10 فروردین 1389, 14:03 عصر
از CSS Friendly استفاده کنید
CSS Friendly، چی هست؟!

mmnoody2006
سه شنبه 10 فروردین 1389, 14:13 عصر
از دوستان کسی منبع آموزشی CSS Friendly داره (انگلیسی/فارسی)

mmnoody2006
سه شنبه 10 فروردین 1389, 14:17 عصر
این CSS Friendly عجب قدرتی داره . دوستانی که آشنایی ندارن حتما توصیه می کنم برن دنبالش

Alireza_Salehi
سه شنبه 10 فروردین 1389, 14:45 عصر
CSS Friendly، چی هست؟!

کنترل های پیشفرض دات نت از روش جدول های تو در تو و inline css برای رندر کردن استفاده می کنند، که فاجعه است...

اما برای کنترل های navigation در حال حاضر ul پیشنهاد می شود و برای کنترلهای لیستی div . با توجه به عدم تولید کدهای بهینه توسط کنترل های ASP.NET مایکروسافت CSS Friendly را ارائه داده است که برای navigation از ul استفاده می کند و برای لیست ها از div و به جای inline css از class استفاده میکند، البته خیلی هم کار درست نیست ولی نسبت به کنترل های پیشفرض کد بهتری تولید می کند.

لینکش رو در پست قبلی گذاشتم مطالعه کنید.

mmnoody2006
سه شنبه 10 فروردین 1389, 15:16 عصر
کنترل های پیشفرض دات نت از روش جدول های تو در تو و inline css برای رندر کردن استفاده می کنند، که فاجعه است..

کاملا صحیح!

من از css Friendly هم استفاده کردم ولی باز هم برای datalist از table بندی استفاده می کنه :گریه:
واقعا اگه می شد از همون روش ساخت دستی div ها استفاده کرد خیلی بهتر می شده

Alireza_Salehi
سه شنبه 10 فروردین 1389, 15:46 عصر
خودتون میتونید با روش دستی و دو سطح div فرمت اون دو سایت رو تولید کنید کاری نداره...

mmnoody2006
سه شنبه 10 فروردین 1389, 18:42 عصر
خودتون میتونید با روش دستی و دو سطح div فرمت اون دو سایت رو تولید کنید کاری نداره...
منم دنبال همینم ولی کاری داره

sahele_sheni
سه شنبه 10 فروردین 1389, 18:54 عصر
cssfriendly.dll و CSSFriendlyAdapters.browser رو از به پروژه add کردم و cssfriendly.dll رو به toolbox اضاصه کردم ولی کنترل ها نمیان !!!! اشکال کارم کجاست ؟
اینا هم فایلهایی که اضافه میکنم !!!

mmnoody2006
سه شنبه 10 فروردین 1389, 19:38 عصر
ببین اینا ابزار نیستن فقط این کار نوع کدهای html تولید شده رو بهینه تر می کنه
من برنامه آموزشی می زارم خودت کد صفحات تولید شده رو ببین

Alireza_Salehi
سه شنبه 10 فروردین 1389, 20:05 عصر
منم دنبال همینم ولی کاری داره

یک مثال خیلی خیلی ساده بدون صفحه بندی:
در این کاربردی که شما نیاز دارید نه Css Friendly نیاز هست و نه کد نویسی دستی. با یک Repeater به راحتی میشه چنین ساختاری ایجاد کرد.

mmnoody2006
سه شنبه 10 فروردین 1389, 22:26 عصر
آقا خیلی گلی دمت گرم.
ببین کد html تولید شده اصل ماله ولی من یه خورده از برنامه سر در نیاوردم خودت نوشتی یا جایی گرفتی
در این مورد منبعی داری معرفی کنی ممنون می شم

Alireza_Salehi
سه شنبه 10 فروردین 1389, 23:05 عصر
شما چند وقته برنامه نویسی؟

فایل CSS از طریق انتساب Theme به برنامه افزوده می شود.
محصولات داخل یک div با کلاس container لود می شوند.
هر محصول داخل یک div با کلاس i لود می شود.
داده های برنامه از یک فایل XML لود می شوند.

به همین سادگی!
کلاس مقدماتی برنامه نویسی ASP.NET ثبت نام کنید.

mmnoody2006
چهارشنبه 11 فروردین 1389, 10:31 صبح
شما چند وقته برنامه نویسی؟

2 سالی می شه . منظور من طریقه استفاده از repeater بود چون آشنایی زیادی باهاش ندارم
و دارم دنبال منابع می گردم که البته چند تا انگلیسی پیدا کردم .

Alireza_Salehi
چهارشنبه 11 فروردین 1389, 11:43 صبح
Repeater چیز خاصی نداره فقط کارش اینه که یک چیزی که داخل
ItemTemplate
یا
AlternatingItemTemplate
هست رو هی تکرار کنه

داخل این دو میتونید هر چیزی بذارید و با روش بایندیگ با استفاده از Eval یا ... لیستی از داده ها که به Repeater بایند شده اند را نمایش دهید.

خود Repeater کدی تولید نمی کند و صرفا کدهای شما را تکرار می کند.
برای همین Repeater داخل یک div با کلاس container گذاشته شده است.

AlternatingItemTeplate هم برای اینه که اگر خواستید ردیف ها یکی درمیون استایل یا رفتار متفاوتی داشته باشند

SepratorItemTemplate هم برای تعیین رفتار یا استایل جدا کننده بین رکورد هاست که در مثال ما نیازی به استفاده از آن نبوده است.

داده های ما از یک فایل XML بارگذاری می شوند و به این مثال ربطی ندارد از هر جایی که می خواهید می توانی داده ها را دریافت کنید.

Saber_Fatholahi
چهارشنبه 11 فروردین 1389, 12:12 عصر
2 سالی می شه . منظور من طریقه استفاده از repeater بود چون آشنایی زیادی باهاش ندارم
و دارم دنبال منابع می گردم که البته چند تا انگلیسی پیدا کردم .
سلام
دوست عزیز همشهری خوب یه سرچ ساده بزنی توی گوگل کلی لینک واست میاره موفق باشی

mmnoody2006
چهارشنبه 11 فروردین 1389, 18:29 عصر
دارم دنبال منابع می گردم که البته چند تا انگلیسی پیدا کردم . امان از دست شما آملی ها (شوخی :قلب: )
arsp_2004 (http://www.barnamenevis.org/forum/member.php?u=33355) جان نیاز به توضیح نبود خودم متوجه همه چیز شده و مشکلم حل شده خیلی
عالی شده کارم .
فقط یه مشکل آخر بین row ها یک فاصله هست که نمی تونم اونو کم کنم در ضمن
نمونه برنامه ای که گذاشتی توی IE خوب کار نمی کنه باید float:right کنی تا درست بشه

بازم ممنون نمی دونم با چه زبونی ازتون تشکر کنم فقط این مشکل فاصله هم حل بشه
خیلی خوب در میاد ممنون

Alireza_Salehi
چهارشنبه 11 فروردین 1389, 23:52 عصر
امان از دست شما آملی ها (شوخی :قلب: )
arsp_2004 (http://www.barnamenevis.org/forum/member.php?u=33355) جان نیاز به توضیح نبود خودم متوجه همه چیز شده و مشکلم حل شده خیلی
عالی شده کارم .
فقط یه مشکل آخر بین row ها یک فاصله هست که نمی تونم اونو کم کنم در ضمن
نمونه برنامه ای که گذاشتی توی IE خوب کار نمی کنه باید float:right کنی تا درست بشه

بازم ممنون نمی دونم با چه زبونی ازتون تشکر کنم فقط این مشکل فاصله هم حل بشه
خیلی خوب در میاد ممنون
برنامه فوق فقط یک مثال است و برای مرورگرهای مختلف بهینه نشده است. باید روی CSS هاش کار کنید.

mmnoody2006
پنج شنبه 12 فروردین 1389, 10:33 صبح
به هر حال خیلی ممنون همه چیز به خوبی حل شده با تشکر از همه دوستان