منوی کاربری

رویاگر • وبلاگ • ASP.NET • کنترل عنوان و متا تگ های صفحه بصورت پویا

وبلاگ : ASP.NET / کنترل عنوان و متا تگ های صفحه بصورت پویا

چکیده آخرین پستها
مهر 3

کنترل عنوان و متا تگ های صفحه بصورت پویا

جمعه 2:24 عصر توسط علی خوشبختیان 8 نظر ( 434 بازدید )

بسیاری از دوستان برنامه نویس ASP.net علاقمند به دسترسی پویا به دو مورد ساده و درعین حال بسیار كاربردی Title و Meta در هر صفحه هستند. این مساله جایی اهمیت خود را نشان می دهد که در پروژه خود از Master Page ها استفاده کنید و یا دسترسی محلی به بیرون Place Holder ها امكان پذیر نباشد.

در این مطلب كوتاه، نحوه دسترسی به این دو مورد را بررسی می كنم و امیدوارم رنكینگ سایت های دوستان با تعیین مقادیر صحیح و مناسب در این دو تگ، افزایش پیدا كند. برای سهولت کار دستورات با دو زبان #C و VB نوشته شده اند.

Title

برای دسترسی پویا به تگ Title، یك دستور ساده وجود دارد:

#C

this.Page.Page.Title = "test page";

VB

Me.Page.Page.Title = "Test page 1" 

این دستور در تمام صفحات اعم از Page Master ها و یا Web Form ها قابل استفاده است. توجه كنید كه دستور فوق باید در متد Page_Load یا form_Load نوشته شود.

#C

protected void Page_Load(object sender, EventArgs e)
    {
        this.Page.Page.Title = "test page";
    }

VB

Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load
        Me.Page.Page.Title = "Test page 1"
    End Sub

Meta

در این مثال سعی می کنم متدی كاربردی را معرفی کنم تا توسط آن به راحتی اقدام به ایجاد و افزودن متا تگ ها نمایید.

#C

private string _metacontents;
public string MetaContents
{
    get { return _metacontents; }
    set { _metacontents = value; }
}

private void addMeta(string MetaName, string MetaContent)
    {
        HtmlMeta hm = new HtmlMeta();
        hm.Name = MetaName;
        MetaContents = MetaContent;
        hm.Content = MetaContents;
        Header.Controls.Add(hm);
    }

VB

Private Sub addMeta(ByVal MetaName As String, ByVal MetaContent As String)
        Dim hm As New HtmlMeta()
        hm.Name = MetaName
        hm.Content = MetaContent
        Header.Controls.Add(hm)
End Sub

حال برای فراخوانی دستورات فوق، به صورت زیر عمل کنید. توجه داشته باشید این دستورات باید حتماً در متد Page_Load یا form_Load قرار گیرد تا نتیجه ی آن دیده شود. بهتر است متدی جهت تعیین مقادیر نوشته شود و در form_Load فراخوانی گردد.

#C

protected void Page_Load(object sender, EventArgs e)
    {
        addMeta("KeyWords", "Standard,Web,Application,Test");
        addMeta("description", "Standard Web Application Test");
    }

VB

Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load
Call addMeta("KeyWords", "Standard,Web,Application,Test")
Call addMeta("description", "Standard Web Application Test")
End Sub

نتیجه گیری

در این مطلب کوتاه به دو دستور ساده و کاربردی برای کنترل عنوان و متا تگ های صفحه بصورت پویا توسط دو زبان #C و VB پرداختیم. با توجه به نکات موثر در بهینه سازی صفحات، می توان به طراحی سایتی قابل دسترس برای بازدیدکنندگان توسط موتورهای جستجو امیدوار بود. در پناه خدا موفق و سربلند باشید.

درباره نویسنده

علی خوشبختیان

علی خوشبختیان، طراح و خالق برنامه های كاربردی، بانك های اطلاعاتی و سایتهای اطلاع رسانی، فروشگاهی، خبری در سطح داخلی و بین المللی است. از فعالیت های جانبی وی در عرصه تولید و توسعه نرم افزار می توان به همكاری به عنوان مشاور، وب مستر، طراح گرافیك و مدیر پروژه اشاره کرد.


نظرات

ارسال نظر در مورد این پست
  • 1 Gravatar مصطفی مقدم جمعه، 03 مهر 1388 http://www.edreamer.ir

    ممنون.
    نظرت راجع به اجرای این تابع تو Page_Init چیه؟ اگر قبل از initialize شدن صفحه اونرو دستکاری کنیم بهتر نیست؟
  • 2 Gravatar Max جمعه، 03 مهر 1388

    سلام . به نظرم ميشه اين كار رو هم كرد اما در بسيار از مواقع افراد از تابع Page_init استفاده نمي كنند . اين موارد بهتر هست توي يكي از اين دو تابع (init يا load) بكار گرفته بشن.
  • 3 Gravatar علیرضا جمعه، 03 مهر 1388

    مقدار دهی MetaTag ها زمانی که از MasterPage استفاده می کنیم


    http://aspcode.ir/Article.aspx?id=11
  • 4 Gravatar Max جمعه، 03 مهر 1388

    سلام دوباره .
    دوستان لطف دارن و مطلب همگام با اين مطلب رو ارائه مي كنن (آقا عليرضا مخصوصا) . خوب دوست عزيز اين حقير كه به طور كامل با دو كد VB و #C دستورات رو ارائه كردم .
    الحمد لله و منت مطلب هم كپي صرف نبوده . در لينك ارائه شده اما چيزي پيدا نكردم كه جديد تر باشه .
    حداقل چيز جديد ارائه ميشد تا اين حقير هم استفاده مي كردم .
    در پناه خدا شاد و سربلند باشيد.
  • 5 Gravatar Alireza Esmram يكشنبه، 05 مهر 1388 http://aspcode.ir

    بنا به درخواست دوست بزرگوارمون مطلب تازه تر و جدید در تاریخ شانزدهم خرداد سال جاری منتشر و در آدرس زیر در دسترس می باشد :

    http://esmram.blogfa.com/post-17.aspx

    موفق باشید.
  • 6 Gravatar Max دوشنبه، 06 مهر 1388

    سلام .
    ممنون از آقا علي رضا . استاد، دوستان (از جمله همين آقاي روياگر)‌ به حقير ميگن «بابا بزرگ». ما قديمي باز هستيم و هنوز با VS 2005 حال مي كنيم . اما دونستن ورژن هاي جديد برام بسيار جذاب و لازم هست . از راهنماييت ممنون .
    راستي آقاي مصطفي مي گفت : «بابا طرف استاد asp.net هست . چرا باهاش دعوا مي كني» گفتم «من كه چيزي نگفتم ...» گفت «اگر ميشناختيش فقط تشكر مي كردي كه برات كامنت گذاشته» اما چه ميشه كرد . ما به درد خود بزرگ بيني دچاريم (;
    در پناه خدا شاد و شادكام باشي
  • 7 Gravatar lمصطفی مقدم 11 ماه قبل http://www.edreamer.ir

    اسمرام عزیز، ممنون بابت لینک جدید.
    مکس عزیز تر، ممنون بابت پست مفیدت.

    امیدوارم مقالات بیشتری از شما در رویاگر داشته باشم.
  • 8 Gravatar ناصر 4 ماه قبل http://nasers.blogfa.com

    چاکر استادمونم هستیم من مدرسه امام خمینی دانش آموزتونم( ناصر اسدی)

ارسال نظر

فرم نظرات




لطفاً توجه کنید که:

  • ورود آدرس وب سایت الزامی نیست.
  • آدرس پست الکتونیکی شما نمایش داده نخواهد شد.
  • لطفاً از کدهای HTML استفاده نکنید.
  • برای ارسال نظرات خود در رابطه با مواردی غیر از این پست از فرم ارتباط استفاده کنید.
  • رویاگر برای نمایش آواتارهای شما از Gravatar استفاده می کند.

چکیده نظرات

برای پیگیری نظرات ارسالی برای این پست در چکیده نظرات ثبت نام کنید.
Antibot Image