چند سوال

مرضیه پارسا

مرضیه پارسا

در کارگروه: برنامه نویسی تحت Microsoft .Net
تعداد ارسالي: 6
14 سال پیش در تاریخ: یکشنبه, خرداد 16, 1389 0:23

با سلام به همه دوستان.
لطفا به سوالات من پاسخ دهید.
1. سایتی طراحی کرده ام که در مرورگر IE به صورت دلخواه نمایش داده می شود اما در Firefoxتفاوت دارد. برای رفع این مشکل چه راهکاری پیشنهاد می کنید؟
2. برای نمایش ساعت و تاریخ فارسی در دات نت از چه ابزار یا دستوری استفاده کنم؟
3. برای نمایش اخبار در سایتم از Repeaterاستفاده کرده ام که وقتی تعدادشان زیاد باشد صفحه ظاهر خوبی پیدا نمیکند آیا می شود برای آن تعداد مشخصی تنظیم کرد؟
4.برای تعداد بازدید ها از سایت چه راهکاری پیشنهاد میکنید؟
با تشکر فراوان از شما



.

حذف ارسالي ويرايش ارسالي
محسن مفتوح

محسن مفتوح

در کارگروه: برنامه نویسی تحت Microsoft .Net
تعداد ارسالي: 24
14 سال پیش در تاریخ: دوشنبه, خرداد 17, 1389 20:34

1 -
برای این کار شما باید از CSS استفاده کنید و تمامی تنظیمات را در ان بگذارید تا با مرور گرهای متفاوت عملکرد یکسانی داشته باشد .
به این مثال دقت کن


<!--[if IE]>
    <link rel="stylesheet" href="templates/skin/tndc/rtl/menu_hack.css">
<![endif]-->


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




<!--[if IE]>
<link rel="stylesheet" href="Template/Yoxiv/templates/yasindltemp/css/ie.css" type="text/css" />
<![endif]-->

<!--[if lt IE 7.0]>
<link rel="stylesheet" href="Template/Yoxiv/templates/yasindltemp/css/ie7minus.css" type="text/css" />
<style>
.main { width: expression(document.body.clientWidth < 770? "770px" : document.body.clientWidth > 1200? "1200px" : "auto"); }
</style>
<![endif]-->

<!--[if IE 7.0]>
<style>
.clearfix { display: inline-block; } /* IE7xhtml*/
</style>
<![endif]-->




2 –برای نمایش ساعت  و تقویم فارسی شما باید از این کلاس استفاده کنید.



using System.Globalization;


 
public string GetNameDayInMonth()
                {
                    PersianCalendar calendar = new PersianCalendar();
                    switch (calendar.GetDayOfWeek(this.DateMe).ToString())
                    {
                        case "Saturday":
                            return "شبه";

                        case "Sunday":
                            return "یک شبه";

                        case "Monday":
                            return "دو شنبه";

                        case "Tuesday":
                            return "سه شبه";

                        case "Wednesday":
                            return "چهار شنبه";

                        case "Thursday":
                            return "پنج شنبه";

                        case "Friday":
                            return "جمعه";
                    }
                    return "";
                }


DLL موجود در سایت www.maftoox.com به صورت کامل تقویم شمسی و قمری را پیاده کرده که همراه با مثال میباشد. از اون میتوانید استفاده کنید

3 –
نمایش اطلاعات متفاوت است . ولی شما باید مثلا در صفحه اول فقط یک تعداد مشخصای را نمایش بدهدی.
مثلا 10 خبر اخرو در صفحات دیگر نمایش را به 10 یا 20 تقسیم کنید. یعنی در هر صفحه 10 خبر و ...... این کار بهتر ایت
به سایت خودم مراجعه کن . یک نمونه دیگر هم سایت softgozar.com  برای نمایش لیست نرم افزار ها


4 – برای نمایش بازدید ها اغلب کاربران راه های متفاوتی را انجام میدهند. جدول میسازند و مقدار اون را برای هر کاربر جمع میبندند و برای نمایش کاربران انلاین در سایت هم شما باید یک Application  را در فایل global.asax مرتبا جمع ییندید

این هم مثال

این توابع را در فایل global.asax  قرارا دهید .



void Application_Start(object sender, EventArgs e)
    {
        // Code that runs on application startup
        this.Application["NumUserOnline"] = 0;
    }

void Session_Start(object sender, EventArgs e)
    {
        // Code that runs when a new session is started
        this.Application.Lock();
        this.Session.Timeout = 5;   
        this.Application["NumUserOnline"] = RuntimeHelpers.GetObjectValue(Operators.AddObject(RuntimeHelpers.GetObjectValue(this.Application["NumUserOnline"]), 1));

       
        this.Application.UnLock();
    }

void Session_End(object sender, EventArgs e)
    {
        // Code that runs when a session ends.
        // Note: The Session_End event is raised only when the sessionstate mode
        // is set to InProc in the Web.config file. If session mode is set to StateServer
        // or SQLServer, the event is not raised.
        this.Application.Lock();
        this.Application["NumUserOnline"] = RuntimeHelpers.GetObjectValue(Operators.SubtractObject(RuntimeHelpers.GetObjectValue(this.Application["NumUserOnline"]), 1));
       
 
       
       
        Session.Clear();
        this.Application.UnLock();
       
       
       
    }


برای شمارش تعداد کاربران جدید هم باید در تابع Session_Start مقدار Table خود را جمع ببندید .




اگر جایی مشکل بود بگین بیشتر توضیح بدهم

حذف ارسالي ويرايش ارسالي
رحمان منور

رحمان منور

در کارگروه: برنامه نویسی تحت Microsoft .Net
تعداد ارسالي: 3
14 سال پیش در تاریخ: پنجشنبه, شهريور 25, 1389 13:22
 
نقل قول از محسن مفتوح
محسن مفتوح