تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تعلم كيف تغير Master Page فى وقت التشغيل
#1
كاتب الموضوع : Ahmed Moosa

السلام عيكم ورحمة الله

الحمد الله والصلاة والسلام على رسول الله صلى الله عليه وسلم

الفكرة
أولا
- إعلم أولاً أن تغير الــــ Master Page لابد أن يكون فى حدث Page_PreInit أو ما قبل هذا الحدث أى قبل Page_Load أو أى حدث لآى أداة فى الصفحة .

ثانياً :-
- سيتم العمل باستخدام الأمر Request الذى سيتلقى QueryString لتغيير الـ Master
- و أيضاً الأمر Profile داخل web.cofig لتعريف خاصية و هى MasterPageFile.

ثالثاً:-
- سيكون العمل داخل (web.config) , ( default.aspx.cs),(default.aspx)


خطوات العمل :-

الإعداد:
1- قم بفتح Empty Web site .

ثم من Add New Item إنشىء مايلى .

2- قم بتصميم صفحيتن من نوع MasterPage ووأعطهم أى إسم تريد .
3- قم بعمل صفحة عادية و لتكن default.aspx او أى إسم تريد .
4- قم بإضافة ملف Web.Config .

كتابة الكود :-

1- قم بفتح ملف (Web.comfig) وأكتب مايلى

كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]<[/color][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]web[/color][COLOR=#007700]>
      <[/COLOR][color=#0000bb]profile [/color][COLOR=#007700]>
        <[/COLOR][color=#0000bb]properties[/color][COLOR=#007700]>
          <[/COLOR][color=#0000bb]add name[/color][color=#007700]=[/color][color=#dd0000]"MasterPageFile" [/color][color=#0000bb]defaultValue [/color][color=#007700]=[/color][color=#dd0000]"MasterPage.master"[/color][COLOR=#007700]/>
        </[/COLOR][color=#0000bb]properties[/color][COLOR=#007700]>
      </[/COLOR][color=#0000bb]profile[/color][COLOR=#007700]>
      </[/COLOR][color=#0000bb]system[/color][color=#007700].[/color][color=#0000bb]web[/color][COLOR=#007700]>  
[/COLOR][color=#0000bb][/color][/COLOR]


2- فى صفحة default.aspx أضف مايلى :

كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]<%@ [/color][color=#0000bb]Page Language[/color][color=#007700]=[/color][color=#dd0000]"C#" [/color][color=#0000bb]MasterPageFile[/color][color=#007700]=[/color][color=#dd0000]"~/MasterPage.master" [/color][color=#0000bb]AutoEventWireup[/color][color=#007700]=[/color][color=#dd0000]"true" [/color][color=#0000bb]CodeFile[/color][color=#007700]=[/color][color=#dd0000]"Default.aspx.cs" [/color][color=#0000bb]Inherits[/color][color=#007700]=[/color][color=#dd0000]"_Default" [/color][color=#0000bb]Title[/color][color=#007700]=[/color][color=#dd0000]"Untitled Page" [/color][COLOR=#007700]%>
<[/COLOR][color=#0000bb]asp[/color][color=#007700]:[/color][color=#0000bb]Content ID[/color][color=#007700]=[/color][color=#dd0000]"Content1" [/color][color=#0000bb]ContentPlaceHolderID[/color][color=#007700]=[/color][color=#dd0000]"ContentPlaceHolder1" [/color][color=#0000bb]Runat[/color][color=#007700]=[/color][color=#dd0000]"Server"[/color][COLOR=#007700]>
    [/COLOR][color=#0000bb]This [/color][color=#007700]default [/color][color=#0000bb]page [/color][color=#007700]&[/color][color=#0000bb]nbsp[/color][COLOR=#007700];
    <[/COLOR][color=#0000bb]br [/color][COLOR=#007700]/>
    <[/COLOR][color=#0000bb]asp[/color][color=#007700]:[/color][color=#0000bb]HyperLink ID[/color][color=#007700]=[/color][color=#dd0000]"HyperLink1" [/color][color=#0000bb]runat[/color][color=#007700]=[/color][color=#dd0000]"server" [/color][color=#0000bb]NavigateUrl[/color][color=#007700]=[/color][color=#dd0000]"~/Default.aspx?master=firstmaster"[/color][color=#007700]>[/color][color=#0000bb]MasterPage 1[/color][color=#007700]</[/color][color=#0000bb]asp[/color][color=#007700]:[/color][color=#0000bb]HyperLink[/color][COLOR=#007700]>
    <[/COLOR][color=#0000bb]asp[/color][color=#007700]:[/color][color=#0000bb]HyperLink ID[/color][color=#007700]=[/color][color=#dd0000]"HyperLink2" [/color][color=#0000bb]runat[/color][color=#007700]=[/color][color=#dd0000]"server" [/color][color=#0000bb]NavigateUrl[/color][color=#007700]=[/color][color=#dd0000]"~/Default.aspx?master=secondmaster"[/color][color=#007700]>[/color][color=#0000bb]MasterPage 2[/color][color=#007700]</[/color][color=#0000bb]asp[/color][color=#007700]:[/color][color=#0000bb]HyperLink[/color][COLOR=#007700]>
    <[/COLOR][color=#0000bb]br [/color][COLOR=#007700]/>
    <[/COLOR][color=#0000bb]br [/color][COLOR=#007700]/>
</[/COLOR][color=#0000bb]asp[/color][color=#007700]:[/color][color=#0000bb]Content[/color][COLOR=#007700]>  
[/COLOR][color=#0000bb][/color][/COLOR]


3- فى صفحة default.aspx.cs أضف مايلى :

C#


كود :
[color=#000000][COLOR=#0000bb] [/color][color=#007700]protected [/color][color=#0000bb]void Page_PreInit[/color][color=#007700]([/color][color=#0000bb]object sender[/color][color=#007700], [/color][color=#0000bb]EventArgs e[/color][COLOR=#007700])
    {
        if ([/COLOR][color=#0000bb]Request[/color][color=#007700][[/color][color=#dd0000]"master"[/color][color=#007700]] != [/color][color=#0000bb]null [/color][COLOR=#007700])
        {
            switch ([/COLOR][color=#0000bb]Request[/color][color=#007700][[/color][color=#dd0000]"master"[/color][COLOR=#007700]])
            {
                case [/COLOR][color=#dd0000]"firstmaster"[/color][COLOR=#007700]:
                    [/COLOR][color=#0000bb]Profile[/color][color=#007700].[/color][color=#0000bb]MasterPageFile [/color][color=#007700]=[/color][color=#dd0000]"MasterPage.master"[/color][COLOR=#007700];
                    break;
                case [/COLOR][color=#dd0000]"secondmaster"[/color][COLOR=#007700]:
                    [/COLOR][color=#0000bb]Profile[/color][color=#007700].[/color][color=#0000bb]MasterPageFile [/color][color=#007700]= [/color][color=#dd0000]"MasterPage2.master"[/color][COLOR=#007700];
                    break;
            }
        }
        [/COLOR][color=#0000bb]MasterPageFile [/color][color=#007700]= [/color][color=#0000bb]Profile[/color][color=#007700].[/color][color=#0000bb]MasterPageFile[/color][COLOR=#007700];    
    }  
[/COLOR][color=#0000bb][/color][/COLOR]


VB

كود :
[COLOR=#000000][COLOR=#0000bb]
[/COLOR][color=#007700]Protected [/color][color=#0000bb]Sub Page_PreInit[/color][color=#007700]([/color][color=#0000bb]ByVal sender [/color][color=#007700]As [/color][color=#0000bb]Object[/color][color=#007700], [/color][color=#0000bb]ByVal e [/color][color=#007700]As [/color][color=#0000bb]EventArgs[/color][COLOR=#007700])
        If [/COLOR][color=#0000bb]Not Request[/color][color=#007700]([/color][color=#dd0000]"master"[/color][color=#007700]) [/color][COLOR=#0000bb]Is Nothing Then
            Select [/COLOR][color=#007700]Case [/color][color=#0000bb]Request[/color][color=#007700]([/color][color=#dd0000]"master"[/color][COLOR=#007700])
                Case [/COLOR][COLOR=#dd0000]"firstmaster"
                    [/COLOR][color=#0000bb]Profile[/color][color=#007700].[/color][color=#0000bb]MasterPageFile [/color][color=#007700]= [/color][COLOR=#dd0000]"MasterPage.master"
                [/COLOR][color=#007700]Case [/color][COLOR=#dd0000]"secondmaster"
                    [/COLOR][color=#0000bb]Profile[/color][color=#007700].[/color][color=#0000bb]MasterPageFile [/color][color=#007700]= [/color][COLOR=#dd0000]"MasterPage2.master"
            [/COLOR][COLOR=#0000bb]End Select
     End [/COLOR][COLOR=#007700]If
[/COLOR][color=#0000bb]MasterPageFile [/color][color=#007700]= [/color][color=#0000bb]Profile[/color][color=#007700].[/color][COLOR=#0000bb]MasterPageFile
End Sub  
[/COLOR][/COLOR]



التنفيذ :


1- عند الضغط على الرابط المسمى MasterPage1 سيعرض محتوياتها . وكذلك الحال مع الرابط
المسمى MasterPage2 .

2- قل الحمد لله .
.................................................. ........

والسلام عليكم ورحمة الله .
}}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم