PDA

View Full Version : تغییر عنوان صفحاتی که از Master Page استفاده کرده اند



mehrdad_shahian
چهارشنبه 16 آذر 1390, 23:18 عصر
سلام به همه دوستان

من چطوری میتونم عنوان صفحه ای که از Master Page استفاده کرده رو عوض کنم.من توی سایت جستجو کردم ولی نتیچه ای نگرفتم.مرسی از دوستانی که کمک کنند

!!!اینو هم بگم که من عنوان صفحه master page رو داخل ریداد page load از صفحه master page عوض کردم.!!!!

fakhravari
چهارشنبه 16 آذر 1390, 23:27 عصر
public string name = Encoding.UTF8.ToString();
name = Request.QueryString["ForumName"].ToString();

Page.Title = name;

dorparasti
چهارشنبه 16 آذر 1390, 23:35 عصر
بله با استفاده از Page.Title میشه در زمان اجرا عنوان صفحه رو عوض کرد .

در زمان طراحی هم که خود تگ Page دارای یک property به نام title هستش که می تونید عنوان صفحه رو در اون قرار بدید .


<%@ Page Language="C#‎" MasterPageFile="~/Page.master" AutoEventWireup="true" CodeFile="MyPage.aspx.cs" Inherits="MyPage" Title="MyPage" %>

mehrdad_shahian
چهارشنبه 16 آذر 1390, 23:51 عصر
با تشکر از دوستانی ک پاسخ دادن ولی مثل اینکه من سوالمو درست مطرح نکردم.من توی ریداد page_load مستر پیج اینو نوشتم:
protected void Page_Load(object sender, EventArgs e)
{
Page.Title = "Mehrdad";
}

حالا میخوام در صفحه default.aspx که از این مسترپیج ارث برده،داخل رویداد page_load اینو انجام بدم:
protected void Page_Load(object sender, EventArgs e)
{
Page.Title += "-Shahian";
}

Mohandes2009
پنج شنبه 17 آذر 1390, 09:15 صبح
اگر عنوان صفحه ثابت هست به نظر من بهترین روش اینه که در کد HTML صفحه به صورت دستی از تک <titel> استفاده کنی هم به بهینه شدن سایتت کمک میکنه هم در موتور جستجوگر رتبه سایتت میره بالا البته این یکی از 1000ران روشی است که میشه موتور جستجوگر را برای سایتمون بهینه کنیمااا!:چشمک:

hamid_shrk
پنج شنبه 17 آذر 1390, 09:21 صبح
نکته ای که وجود داره و کمتر کسی بهش توجه میکنه اینه که وقتی مستر پیج تعریف میکنیم و میخوایم توی پیج ها عنوان های مختلف داشته باشیم
حتما باید تگ Head مسترپیجمون runat=server باشه ،وگرنه عنوان پیج تغییر نمیکنه و عنوان مسترپیج روش میمونه.
مشکله شما هم فکر میکنم همین باشه.

mehrdad_shahian
پنج شنبه 17 آذر 1390, 20:30 عصر
نکته ای که وجود داره و کمتر کسی بهش توجه میکنه اینه که وقتی مستر پیج تعریف میکنیم و میخوایم توی پیج ها عنوان های مختلف داشته باشیم
حتما باید تگ Head مسترپیجمون runat=server باشه ،وگرنه عنوان پیج تغییر نمیکنه و عنوان مسترپیج روش میمونه.
مشکله شما هم فکر میکنم همین باشه.

سلام دوستان عزیز

باتشکر از دوستانی که پاسخ دادن

من چک کردم ولی تگ head مسترپیج runat=server بود.ولی بازم تغییری نکرد.

در جواب Mohandes2009 (http://barnamenevis.org/member.php?119784-Mohandes2009) هم باید بگم که من این قابلیتو واسه خبرای سایت میخوام که عنوان خبر به عنوان پنجره اضافه بشه

hakan648
پنج شنبه 17 آذر 1390, 20:53 عصر
سلام
بنده هم همچین مشکلی داشتم - البته خیلی جستجو نکردم - روشی که من برای اینکار پیش گرفتم , این بود که یک Property در صفحه تعریف کردم و در رویداد Page_Load این رو مقدار دهی کردم و در رویداد Me.PreRenderComplete این مقدار رو در صفحه اضافه کردم ( یعنی بعد از اینکه مسترپیج مقدارهارو به صفحه اضافه کرده , من اون رو Overwrite کردم )

پس :

1 - Property را در صفحه مورد نظر ایجاد میکنید :


Private PageTitle As String


در رویداد Page_Load این مقدار دهی میکنید :


Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
PageTitle = "My Title"
End Sub


در رویداد Me.PreRenderComplete این مقدار را به صفحه اضافه می کنید :


Protected Sub Page_PreRenderComplete(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRenderComplete
Header.Title = PageTitle
End Sub


موفق باشید ...

atashsavar
جمعه 18 آذر 1390, 14:18 عصر
سلام دوست عزیز
توی قسمت titlel مستر پیج یه دونه conetentplaceholder بگذارید بعد توی صفحاتی که از مستر پیج مشتق میشن به راحتی اسم صفحتون را در این content بنویسید

mehrdad_shahian
جمعه 18 آذر 1390, 19:56 عصر
مشکل من حل شد.فقط توی صفحه موردنظر بجای اینکه توی رویداد Page_load عنوان صفحه رو عوض کنم،در رویداد Page_PreRenderComplete باید عنوان رو عوض کرد.

protected void Page_PreRenderComplete(object sender, EventArgs e)
{
Page.Title += "-Shahian";
}