ക്ലാസ് പേജ്. കോഡ് പങ്കിടൽ സാങ്കേതികവിദ്യ. ലളിതമാക്കിയ വെബ് ആപ്ലിക്കേഷൻ ലോക്കലൈസേഷൻ

ASP.NET 2.0-ൽ ആദ്യം പ്രത്യക്ഷപ്പെട്ട പേജുകളുടെ ദൃശ്യ പാരമ്പര്യമാണ് ഡിസൈൻ പാറ്റേണുകൾ. നിങ്ങൾക്ക് എത്ര ആപ്ലിക്കേഷൻ പേജുകൾക്കും അടിസ്ഥാനം സൃഷ്ടിക്കാൻ കഴിയും. ആപ്ലിക്കേഷനുകൾ സൃഷ്ടിക്കുന്നതും പരിപാലിക്കുന്നതും ടെംപ്ലേറ്റുകൾ എളുപ്പമാക്കുന്നു. വിഷ്വൽ സ്റ്റുഡിയോ 2005 പേജ് ടെംപ്ലേറ്റുകൾ സൃഷ്ടിക്കുന്നതിനും എഡിറ്റുചെയ്യുന്നതിനുമുള്ള പിന്തുണ ഉൾക്കൊള്ളുന്നു. ഈ പ്രഭാഷണം ഒരു ആപ്ലിക്കേഷനിൽ പേജ് ടെംപ്ലേറ്റുകളുടെ ഉപയോഗം പരിശോധിക്കുകയും അവയുടെ പ്രയോജനങ്ങൾ വിശദീകരിച്ചുകൊണ്ട് ആരംഭിക്കുകയും ചെയ്യുന്നു.

ശ്രദ്ധിക്കുക: ഈ പ്രദേശത്തെ പദാവലി സ്ഥിരപ്പെട്ടിട്ടില്ല. ചില പുസ്തകങ്ങൾ "മാസ്റ്റർ പേജുകൾ" എന്ന പ്രയോഗം ഉപയോഗിക്കുന്നു. "മാസ്റ്റർ പേജ്" എന്ന പദം Default.aspx എന്നതുമായി ആശയക്കുഴപ്പത്തിലാക്കിയാലും ഉപയോഗിക്കാം.

നിങ്ങൾക്ക് പേജ് ഡിസൈൻ ടെംപ്ലേറ്റുകൾ ആവശ്യമായി വരുന്നത് എന്തുകൊണ്ട്?

ശരാശരി ഉപയോക്താവിന്, ഒരു സൈറ്റും മറ്റൊന്നും തമ്മിലുള്ള വ്യത്യാസം വ്യത്യസ്ത പേജ് ഡിസൈനാണ്. ഇന്ന് മിക്ക വെബ്‌സൈറ്റുകൾക്കും തിരിച്ചറിയാവുന്ന ഒരു ഡിസൈൻ ഉണ്ട്, സൈറ്റിന്റെ വ്യത്യസ്ത പേജുകളിൽ ഒരേ സ്ഥലങ്ങളിൽ ഒരേ ഘടകങ്ങൾ ഉപയോഗിച്ചാണ് ഇത് നേടുന്നത്. അതിനാൽ, പേജ് രൂപകൽപ്പന മൊത്തത്തിലുള്ള പ്രവർത്തനത്തേക്കാൾ വളരെ കുറവാണ്.

ഉദാഹരണത്തിന്, Komsomolskaya Pravda പത്ര വെബ്സൈറ്റിന്റെ പ്രധാന പേജ് നോക്കുക. എല്ലാ ദിവസവും വ്യത്യസ്ത ലേഖനങ്ങൾ അവിടെ പ്രത്യക്ഷപ്പെടുന്നു, പക്ഷേ അവയുടെ രൂപകൽപ്പന അതേപടി തുടരുന്നു. ഇതാണ് പത്രത്തിന്റെ ലോഗോ, മുകളിൽ, വലത്, ഇടത് നാവിഗേഷൻ പാനലുകൾ, വലതുവശത്തുള്ള ലേഖന റേറ്റിംഗുകൾ, മെയിലിൽ തിരയുന്നതിനും സബ്‌സ്‌ക്രൈബുചെയ്യുന്നതിനും ലോഗിൻ ചെയ്യുന്നതിനുമുള്ള ഫോമുകൾ. പേജിന്റെ ചുവടെ നിയമപരമായ വിവരങ്ങൾ ഉണ്ട്.

ചില ഡെവലപ്പർമാർ എല്ലാ പേജുകളിലുടനീളം തനിപ്പകർപ്പ് ഘടകങ്ങൾ പകർത്തി ഒട്ടിക്കുന്നു. ഇത് കാര്യക്ഷമമല്ല; ഈ പൊതുവായ ഘടകങ്ങളിൽ നിങ്ങൾക്ക് ഒരു വിശദാംശം മാറ്റണമെങ്കിൽ, എല്ലാ പേജുകളിലും മാറ്റങ്ങൾ വരുത്തേണ്ടതുണ്ട്. HTML ഉൾപ്പെടുത്തുക കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ആവർത്തിച്ചുള്ള കോഡ് കഷണങ്ങൾ ഉൾപ്പെടുത്തിയ ഫയലുകളിലേക്ക് ചേർക്കാം. എന്നാൽ വികസന പരിതസ്ഥിതിയിൽ പേജിന്റെ അന്തിമ രൂപം കാണുന്നത് വളരെ ബുദ്ധിമുട്ടാണ്. ASP.NET 1.1-ൽ അത് സൃഷ്ടിക്കാൻ സാധിച്ചു ഇഷ്ടാനുസൃത ഘടകങ്ങൾമാനേജ്മെന്റ്. നിങ്ങൾക്ക് ആവശ്യമുള്ള ഉള്ളടക്കം ഉപയോഗിച്ച് അത്തരമൊരു ഘടകം സൃഷ്ടിക്കാനും എല്ലാ പേജുകളിലും സ്ഥാപിക്കാനും കഴിയും. ഈ ആശയത്തിന്റെ വികസനം പേജ് ടെംപ്ലേറ്റുകളുടെ സൃഷ്ടിയായിരുന്നു. ഇതൊരു ഉപയോക്തൃ നിയന്ത്രണം കൂടിയാണ്, ഇത് പേജിലല്ല, മറിച്ച് അതിന് പുറത്താണ്.

മാസ്റ്റർ പേജുകളുടെ അടിസ്ഥാനകാര്യങ്ങൾ

പേജ് ടെംപ്ലേറ്റുകൾ ഉപയോഗിച്ച്, നിങ്ങൾ ചില പൊതുവായ ഉള്ളടക്കങ്ങൾ നിർവചിക്കുകയും ഒരു .master വിപുലീകരണമുള്ള ഒരു പേജിൽ ഇടുകയും ചെയ്യുന്നു. സ്വാഭാവികമായും, ആപ്ലിക്കേഷനിൽ അത്തരം നിരവധി പേജുകൾ ഉണ്ടായിരിക്കാം. സാധാരണ പേജുകൾ പോലെ, aspx വിപുലീകരണമുള്ള ഏത് ചൈൽഡ് പേജുകൾക്കും ഈ ടെംപ്ലേറ്റ് ഉപയോഗിക്കാം.

ഈ പ്രഭാഷണം മുതൽ, പേഴ്സണൽ വെബ് സൈറ്റ് സ്റ്റാർട്ടർ കിറ്റ് ടെംപ്ലേറ്റ് ഉപയോഗിച്ച് വിഷ്വൽ സ്റ്റുഡിയോ 2005 സൃഷ്ടിക്കുന്ന പ്രോജക്റ്റ് ഞങ്ങൾ വിശകലനം ചെയ്യും. ഇത് പേജ് ടെംപ്ലേറ്റുകളും തീമുകളും വ്യക്തിഗതമാക്കലും നാവിഗേഷനും കാണിക്കുന്നു. നാവിഗേഷൻ നിയന്ത്രണങ്ങൾ Default.master ടെംപ്ലേറ്റ് പേജിൽ കേന്ദ്രീകരിച്ചിരിക്കുന്നു. എല്ലായിടത്തും നാവിഗേഷൻ ആവശ്യമുള്ളതിനാൽ ഇതൊരു സ്വാഭാവിക പരിഹാരമാണ്.

ടെംപ്ലേറ്റ് പേജിൽ പൊതുവായ തലക്കെട്ടുകളും അടിക്കുറിപ്പുകളും ഉൾപ്പെടുന്നു.

പ്രത്യേക ContentPlaceHolder നിയന്ത്രണങ്ങൾ സ്ഥാപിക്കാൻ കഴിയുന്ന ഒരേയൊരു പേജ് ഇതാണ്. തന്നിരിക്കുന്ന മാന്ത്രികന്റെ ചൈൽഡ് പേജുകൾക്ക് അവരുടെ സ്വന്തം ഉള്ളടക്കം സ്ഥാപിക്കാൻ കഴിയുന്ന സ്ഥലങ്ങൾ അവർ നിർവ്വചിക്കുന്നു. ASP.NET-ന് ഒരു ചൈൽഡ് പേജ് റെൻഡർ ചെയ്യാനുള്ള അഭ്യർത്ഥന ലഭിക്കുമ്പോൾ, അത് അതിന്റെ കോഡ് കോഡുമായി ലയിപ്പിക്കുന്നു ഹോം പേജ്, ഫലമായി, "സീമുകൾ" ദൃശ്യമാകാത്ത HTML ജനറേറ്റുചെയ്യുന്നു.

എപ്പോൾ കുട്ടികളുടെ പേജ്വികസന പരിതസ്ഥിതിയിൽ എഡിറ്റുചെയ്‌തു, ഡിസൈൻ ടാബിൽ ടെംപ്ലേറ്റിൽ നിന്നുള്ള ഘടകങ്ങൾക്കൊപ്പം മുഴുവൻ പേജും ദൃശ്യമാണ്, പക്ഷേ അവ കാണിക്കുന്നു ചാരനിറം. അവ എഡിറ്റ് ചെയ്യാൻ കഴിയില്ല. ഉള്ളടക്ക ഘടകങ്ങളിൽ ഉള്ളത് നിങ്ങൾക്ക് എഡിറ്റ് ചെയ്യാം.

പുതിയ ഇനം ചേർക്കുക ഡയലോഗിൽ, മാസ്റ്റർ പേജ് പേജ് തരം തിരഞ്ഞെടുക്കുക. സാധാരണ പേജുകൾ പോലെ, അവ കോഡ്-ബാക്ക് അല്ലെങ്കിൽ പേജിനുള്ളിൽ ഉൾച്ചേർത്ത കോഡ് ഉപയോഗിച്ച് സൃഷ്ടിക്കാൻ കഴിയും. ഇത് ചൈൽഡ്+ പേജുകളുടെ കോഡ് പങ്കിടൽ മോഡലിനെ ഒരു തരത്തിലും ബാധിക്കില്ല. കൂടാതെ, പ്രധാന പേജുകളും ചൈൽഡ് പേജുകളും വിവിധ ഭാഷകളിൽ വികസിപ്പിക്കാൻ കഴിയും.

ലോജിക്കൽ ഭാഗങ്ങളായി പേജിന്റെ വ്യക്തമായ വിഭജനം ലഭിക്കുന്നതിന്, പട്ടികകൾ ഉപയോഗിക്കുന്നു. നമുക്ക് 3 വരികളുള്ള ഒരു മേശ നിർമ്മിക്കാം മുകളിലെ വരിഎല്ലാ പേജുകളുടെയും തലക്കെട്ട് ഉണ്ട്, രണ്ടാമത്തേതിൽ അനിയന്ത്രിതമായ ഉള്ളടക്കം അടങ്ങിയിരിക്കുന്നു, അതിൽ രണ്ട് സെല്ലുകൾ അടങ്ങിയിരിക്കുന്നു, അവയിൽ ഓരോന്നിനും ഒരു ContentPlaceHolder ഉണ്ട്. താഴെയുള്ള വരിയിൽ നിയമപരമായ വിവരങ്ങൾ അടങ്ങിയിരിക്കുന്നു. ലേഔട്ട്-ഇൻസേർട്ട് ടേബിൾ മെനുവിൽ നിന്നാണ് പട്ടിക വളരെ ലളിതമായി സൃഷ്ടിച്ചിരിക്കുന്നത്. 2 ബൈ 3 പട്ടിക സൃഷ്ടിക്കുക. അതിനുശേഷം, മുകളിലെ സെല്ലുകൾ ലയിപ്പിക്കുക അടിവരകൾ, മധ്യഭാഗത്തേക്ക് ContentPlaceHolder ചേർക്കുക. തലക്കെട്ടും അടിക്കുറിപ്പും സൃഷ്ടിക്കുക. ഇതുപോലുള്ള ഒരു പേജിൽ നിങ്ങൾ അവസാനിപ്പിക്കണം:

ഹലോ!
ASP.NET 2.0 പ്രോഗ്രാമിംഗ് സ്കൂൾ
പകർപ്പവകാശം © 2006 - ASP.NET 2.0 സ്കൂൾ

ഈ പേജും ഒരു സാധാരണ പേജും തമ്മിലുള്ള ആദ്യത്തെ വ്യത്യാസം, ഇത് ഒരു മാസ്റ്റർ നിർദ്ദേശത്തിൽ ആരംഭിക്കുന്നു എന്നതാണ്, ഒരു പേജല്ല. MasterPage.master.cs ഫയലിൽ മാസ്റ്റർ പേജ് ക്ലാസ് നിർവചിച്ചിരിക്കുന്നു.

പൊതു ഭാഗിക ക്ലാസ് മാസ്റ്റർപേജ്: System.Web.UI.MasterPage (സംരക്ഷിത ശൂന്യമായ പേജ്_ലോഡ്(ഒബ്ജക്റ്റ് അയച്ചയാൾ, EventArgs e) ( ) )

ടെംപ്ലേറ്റ് ക്ലാസ് System.Web.UI.MasterPage-ന്റെ പിൻഗാമിയാണ്, അത് System.Web.UI.UserControl-ൽ നിന്ന് അവകാശമാക്കുന്നു.

ഇതിൽ ഏതെങ്കിലും നിയന്ത്രണങ്ങളും HTML കോഡും അടങ്ങിയിരിക്കാം. പേജ് ഇവന്റുകളും അതിൽ പ്രോസസ്സ് ചെയ്യാവുന്നതാണ്. 2 ContentPlaceHolder ഘടകങ്ങൾ പിൻഗാമി പേജിന്റെ ഉള്ളടക്കം ചേർത്ത സ്ഥലങ്ങളെ സൂചിപ്പിക്കുന്നു.

ഇപ്പോൾ നിങ്ങൾ ഒരു ഉള്ളടക്ക പേജ് സൃഷ്ടിക്കേണ്ടതുണ്ട്. ഇത് പതിവുപോലെ സൃഷ്‌ടിച്ചതാണ്, സെലക്ട് മാസ്റ്റർ പേജ് എന്ന് ലേബൽ ചെയ്‌തിരിക്കുന്ന ചെക്ക്‌ബോക്‌സ് മാത്രമാണ് ചെക്ക് ചെയ്‌തിരിക്കുന്നത്. നിങ്ങൾ ഒരു പേജ് ടെംപ്ലേറ്റ് തിരഞ്ഞെടുക്കേണ്ട ഒരു ഡയലോഗ് ദൃശ്യമാകുന്നു.

എന്നാൽ ഈ സാഹചര്യത്തിൽ പോലും, പേജ് നിർദ്ദേശത്തിലെ പ്രധാന പേജിന്റെ അസൈൻമെന്റ് ആപ്ലിക്കേഷൻ തലത്തിലുള്ള അസൈൻമെന്റിനെക്കാൾ മുൻഗണന നൽകുന്നു. മാസ്റ്റർപേജ് ഫയൽ വ്യക്തമാക്കിയിട്ടില്ലാത്തതും എന്നാൽ നിർവചിച്ചിട്ടുള്ള ഉള്ളടക്ക നിയന്ത്രണങ്ങളുള്ളതുമായ പേജുകളിൽ web.config ക്രമീകരണം പ്രാബല്യത്തിൽ വരും. ഈ ക്രമീകരണം സാധാരണ aspx പേജുകളെ ബാധിക്കില്ല.

ടെംപ്ലേറ്റ് എല്ലാ പേജുകളിലേക്കും അസൈൻ ചെയ്യാൻ കഴിയും, പക്ഷേ തിരഞ്ഞെടുത്ത്, ഉദാഹരണത്തിന്, ഒരു നിർദ്ദിഷ്ട ആപ്ലിക്കേഷൻ ഫോൾഡറിൽ സ്ഥിതിചെയ്യുന്നു.

പ്രധാന കോൺഫിഗറേഷൻ നോഡിലേക്ക് ലൊക്കേഷൻ ഘടകം ചേർത്തു. Lectures ഫോൾഡറിലെ എല്ലാ പേജുകളും Lectures.master ടെംപ്ലേറ്റ് പേജ് ഉപയോഗിക്കുന്നുണ്ടെന്ന് ഇത് വ്യക്തമാക്കുന്നു.

ഒരു ടെംപ്ലേറ്റിന്റെ പിൻഗാമി പേജിൽ ഉള്ളടക്ക തരത്തിന്റെ ഘടകങ്ങൾ മാത്രമേ ഉൾക്കൊള്ളാൻ കഴിയൂ, അവ ഓരോന്നും ടെംപ്ലേറ്റിന്റെ ഒരു ContentPlaceHolder ഘടകവുമായി പൊരുത്തപ്പെടുന്നു. ഈ ഘടകങ്ങൾക്ക് പുറത്ത് നിങ്ങൾക്ക് ഉള്ളടക്കം ചേർക്കാൻ കഴിയില്ല, അല്ലാത്തപക്ഷം ASP.NET-ന് മാസ്റ്റർ പേജ് ഉള്ളടക്ക പേജുമായി സംയോജിപ്പിക്കാൻ കഴിയില്ല. ContentPlaceHolder ID, അനുബന്ധ ഉള്ളടക്ക ഘടകത്തിന്റെ ContentPlaceHolderID ആട്രിബ്യൂട്ടുമായി പൊരുത്തപ്പെടണം.

പ്രോഗ്രാം 2 ഉള്ളടക്ക നിയന്ത്രണങ്ങളുള്ള ഒരു ചൈൽഡ് പേജ് സൃഷ്ടിച്ചു. നിങ്ങൾ ഡിസൈൻ ടാബിലേക്ക് മാറുകയാണെങ്കിൽ, ഈ രണ്ട് ഉള്ളടക്ക ഘടകങ്ങളും ടെംപ്ലേറ്റിലെ രണ്ട് അടുത്തുള്ള പട്ടിക സെല്ലുകളിലായതിനാൽ അവ പരസ്പരം ശൂന്യമായ ദീർഘചതുരങ്ങളായി കാണിക്കും. MasterPageFile ആട്രിബ്യൂട്ടിന് പുറമേ, സാന്നിദ്ധ്യത്താൽ പേജ് നിർദ്ദേശം സാധാരണയിൽ നിന്ന് വ്യത്യസ്തമാണ് തലക്കെട്ട് ആട്രിബ്യൂട്ട്. , , ടാഗുകൾ ടെംപ്ലേറ്റ് ഫയലിൽ നിന്ന് പാരമ്പര്യമായി ലഭിച്ചതിനാൽ, ബ്രൗസർ ഹെഡർ അസാധുവാക്കാനുള്ള ഒരേയൊരു മാർഗ്ഗമാണിത്. ആട്രിബ്യൂട്ട് മൂല്യം മാറ്റിസ്ഥാപിക്കുക

ബ്രൗസറിലെ തത്ഫലമായുണ്ടാകുന്ന പേജ് നിങ്ങൾ നോക്കുകയാണെങ്കിൽ, ബ്രൗസർ ഹെഡർ മാറ്റത്തെ പ്രതിഫലിപ്പിച്ചതായി നിങ്ങൾ കാണും. പേജിന്റെ HTML കോഡ് അടങ്ങിയിരിക്കുന്നു

ടെംപ്ലേറ്റ് പേജിൽ വ്യക്തമാക്കിയ ഉള്ളടക്കം മാത്രമേ പേജ് പ്രദർശിപ്പിക്കൂ.

ടെംപ്ലേറ്റ് എപ്പോൾ വേണമെങ്കിലും എഡിറ്റ് ചെയ്യാവുന്നതാണ്, മാറ്റങ്ങൾ എല്ലാ ഡെറിവേറ്റഡ് പേജുകളിലും പ്രതിഫലിക്കും. ഉദാഹരണത്തിന്, ടൈറ്റിൽ ടെക്സ്റ്റിന് മുമ്പ് ഒരു ചിത്രം ചേർക്കാം.

(ഇത് .NET ഇൻസ്റ്റലേഷനിൽ കാണാം "Microsoft.NET\Framework\v2.0.xxx\ASP.NETWebAdminFiles\Images)

ബ്രൗസറിലെ ചൈൽഡ് പേജ് ഇപ്പോൾ ഇതുപോലെ കാണപ്പെടുന്നു:

ബ്രൗസർ ശീർഷകം പ്രോഗ്രമാറ്റിക്കായി മാറ്റാൻ മറ്റൊരു വഴിയുണ്ട്. ഒരു ടെംപ്ലേറ്റുള്ള ഒരു പേജിന് ഒരു മാസ്റ്റർ പ്രോപ്പർട്ടി ഉണ്ട്. തീർച്ചയായും, എല്ലാ പേജുകളിലും ഇത് ഉണ്ട്, എന്നാൽ സാധാരണ പേജുകൾക്ക് ഇത് ശൂന്യമാണ്. അതിലൂടെ നിങ്ങൾക്ക് പ്രധാന പേജിന്റെ എല്ലാ പ്രോപ്പർട്ടികളും ആക്സസ് ചെയ്യാൻ കഴിയും. ഈ പ്രോപ്പർട്ടി വായിക്കാൻ മാത്രമുള്ളതാണ്.

സ്ഥിരസ്ഥിതിയായി പ്രദർശിപ്പിക്കുന്ന ഉള്ളടക്കം പ്രധാന പേജിന് നിർവചിക്കാനാകും. ഇത് ContentPlaceHolder ഘടകങ്ങളിൽ സ്ഥാപിച്ചിരിക്കുന്നു കൂടാതെ എല്ലാ ചൈൽഡ് പേജുകൾക്കും പാരമ്പര്യമായി ലഭിക്കുന്നു. ചൈൽഡ് പേജ് സ്ഥിരസ്ഥിതി ഉള്ളടക്കത്തെ അസാധുവാക്കുന്നില്ലെങ്കിൽ, അത് പ്രദർശിപ്പിക്കുമ്പോൾ അത് ഉപയോഗിക്കും. നമുക്ക് ഒരു SiteMapPath നിയന്ത്രണം സൃഷ്ടിക്കാം, അത് ContentPlaceHolder1-ൽ സ്ഥാപിക്കും.

MainSchool.aspx പേജിൽ ഇത് ദൃശ്യമാകില്ല, കാരണം രണ്ട് ഉള്ളടക്ക ഘടകങ്ങളും അവിടെ നിർവചിച്ചിരിക്കുന്നു. എന്നിരുന്നാലും, അകത്തുണ്ടെങ്കിൽ അടുത്ത പേജ്ഉള്ളടക്ക ഘടകങ്ങളിൽ ഒന്ന് മാത്രം നിർവചിച്ചിരിക്കുന്നു:

ഏത് പ്രോഗ്രാമിംഗ് ഭാഷയാണ് നിങ്ങൾ ഇഷ്ടപ്പെടുന്നത്?
asp:RadioButtonList ID="rblVoting" runat="server" DataSourceID="SqlDataSource1" DataTextField="variant" DataValueField="id">


നിങ്ങൾ അത് ബ്രൗസറിൽ നോക്കുകയാണെങ്കിൽ, അത് ഇടതുവശത്ത് കാണാം. അപ്പം നുറുക്കുകൾ» പ്രദർശിപ്പിച്ചിരിക്കുന്നു.

മാസ്റ്റർ പേജിന്റെ സോഫ്റ്റ്‌വെയർ ഉദ്ദേശ്യം

ഒരു ഉള്ളടക്ക പേജിൽ, നിങ്ങൾക്ക് അതിന്റെ പ്രധാന പേജ് പ്രോഗ്രമാറ്റിക്കായി വീണ്ടും നൽകാം. ഇത് ചെയ്യുന്നതിന്, നിങ്ങൾ Page.MasterPageFile പ്രോപ്പർട്ടിയിലേക്ക് ആവശ്യമുള്ള മൂല്യം നൽകേണ്ടതുണ്ട്. @പേജ് നിർദ്ദേശത്തിൽ ഏത് ടെംപ്ലേറ്റ് നൽകിയാലും ടെംപ്ലേറ്റ് മാറും. എന്നാൽ നിങ്ങൾ ഇത് Page_Load അല്ലെങ്കിൽ Page_Init ഫംഗ്‌ഷനുകളിൽ ചെയ്യാൻ ശ്രമിക്കുകയാണെങ്കിൽ, നിങ്ങൾക്ക് ഒരു റൺടൈം പിശക് ലഭിക്കും.

Page_PreInit ഇവന്റിന്റെ സമയത്ത് മാത്രമേ ഈ പ്രോപ്പർട്ടി മാറ്റാൻ കഴിയൂ. Page_PreInit ഇവന്റ് എന്നത് ആക്‌സസ് ചെയ്യാൻ കഴിയുന്ന ഒരു പേജിന്റെ ജീവിത ചക്രത്തിന്റെ ആദ്യ ഘട്ടമാണ്. Init ഇവന്റിനിടെ, പ്രധാന പേജുകളും ചൈൽഡ് പേജുകളും ഇതിനകം ഒന്നായി ലയിപ്പിച്ചതിനാൽ ടെംപ്ലേറ്റ് മാറ്റാൻ വളരെ വൈകി. ഇക്കാരണത്താൽ, പേജ്_പ്രീഇനിറ്റ് ഇവന്റിന് മാത്രമേ പ്രധാന പേജിൽ ഉള്ളടക്ക പേജിൽ നിന്ന് വേറിട്ട് പ്രവർത്തിക്കാൻ കഴിയൂ.

ടെംപ്ലേറ്റ് പേജുകൾക്ക് രീതികളും ഗുണങ്ങളും ഉണ്ടാകാം. അവ ആക്‌സസ് ചെയ്യാൻ, നിങ്ങൾ @MasterType നിർദ്ദേശം ഉപയോഗിക്കേണ്ടതുണ്ട്. ഈ സാഹചര്യത്തിൽ, ഡിസൈൻ ടെംപ്ലേറ്റ് പേജ് ക്ലാസ് ശക്തമായി ടൈപ്പ് ചെയ്ത ലിങ്കിലൂടെ ലഭ്യമാകും. TypeName ആട്രിബ്യൂട്ട് തരത്തിന്റെ പേര് വ്യക്തമാക്കുന്നു, കൂടാതെ വിർച്ച്വൽപാത്ത് ടെംപ്ലേറ്റ് ഫയലിന്റെ വെബ് ആപ്ലിക്കേഷൻ റൂട്ട് ഡയറക്ടറിയുമായി ബന്ധപ്പെട്ട പാത വ്യക്തമാക്കുന്നു.

ഈ രീതിയിൽ പേജ് അതിന്റെ ഘടകങ്ങളുടെ ഗുണങ്ങളിലേക്കുള്ള ബാഹ്യ ആക്സസ് അനുവദിക്കുന്നു.

void Page_Load() ( Master.FooterText = "ഇതൊരു ഇഷ്‌ടാനുസൃത അടിക്കുറിപ്പാണ്"; AdRotator പരസ്യം = (AdRotator)Master.FindControl("MyAdRotator"); എങ്കിൽ (പരസ്യം != null) ( ad.BorderColor = System.Drawing.Color. പർപ്പിൾ; ad.BorderWidth = 10;) )
നെസ്റ്റഡ് മാസ്റ്റർ പേജുകൾ

ഡിസൈൻ ടെംപ്ലേറ്റുകൾക്ക് മറ്റ് ടെംപ്ലേറ്റുകൾ അവകാശമാക്കാം. ഉദാഹരണത്തിന്, ഒരു സൈറ്റ് നിരവധി വിഭാഗങ്ങൾ ഉൾക്കൊള്ളുന്നു. എല്ലാ സൈറ്റ് പേജുകൾക്കും പൊതുവായ ഘടകങ്ങളുണ്ട്, കൂടാതെ എല്ലാ വിഭാഗം പേജുകൾക്കും മറ്റ് പൊതുവായ ഘടകങ്ങളുണ്ട്. പൂക്കട വെബ്സൈറ്റിൽ വറ്റാത്തതും വാർഷികവുമായ പൂക്കൾക്കുള്ള വിഭാഗങ്ങൾ അടങ്ങിയിരിക്കുന്നു. പൊതുവായ സൈറ്റ് ടെംപ്ലേറ്റ് അവകാശമാക്കുന്ന ടെംപ്ലേറ്റുകൾ അവർക്കായി സൃഷ്ടിച്ചു.

വറ്റാത്തവ

ഡാഫോഡിൽസ് വിവരിക്കുന്ന പേജ് വറ്റാത്ത പൂക്കൾ വിഭാഗത്തിലാണ്, കൂടാതെ SectionPerrenials ടെംപ്ലേറ്റിന് അവകാശമുണ്ട്.

ഡാഫോഡിൽസ് വസന്തത്തിന്റെ തുടക്കത്തിൽ പൂക്കുകയും വളരുന്ന സീസണിനെ സ്വാഗതം ചെയ്യുകയും ചെയ്യുന്നു.
സംഭവങ്ങളുടെ ക്രമം

സെർവറിൽ ഒരു സംയോജിത പേജ് റെൻഡർ ചെയ്യുമ്പോൾ, ടെംപ്ലേറ്റ് പേജും ഉള്ളടക്ക പേജും ഇവന്റുകൾ സംഭവിക്കുന്നു. ഈ ഇവന്റുകളുടെ ക്രമം നമുക്ക് അവരുടെ ഹാൻഡ്‌ലറുകൾ പ്രോഗ്രാം ചെയ്യണോ എന്നറിയാൻ ഉപയോഗപ്രദമാണ്.

നെസ്റ്റഡ് മാസ്റ്റർ പേജ് നിയന്ത്രണങ്ങൾ ആരംഭിക്കുന്നു.

നെസ്റ്റഡ് ഉള്ളടക്ക പേജ് നിയന്ത്രണങ്ങൾ ആരംഭിക്കുന്നു.

പ്രധാന പേജ് തന്നെ ആരംഭിക്കുന്നു.

ഉള്ളടക്ക പേജ് ആരംഭിക്കുന്നു.

ഉള്ളടക്ക പേജിന്റെ Page_LoadComplete ഇവന്റ്

LoadComplete ഇവന്റ് അവതരിപ്പിച്ചു, അതിനാൽ അതിന്റെ Page_Load-ൽ സൃഷ്‌ടിച്ച പ്രധാന പേജ് ഘടകങ്ങൾ ഉള്ളടക്ക പേജിൽ നിന്ന് ആക്‌സസ് ചെയ്യാൻ കഴിയും. ഉള്ളടക്ക പേജിന്റെ പേജ്_ലോഡ് ഹാൻഡ്‌ലറിൽ ഇത് ചെയ്യാൻ കഴിയില്ല, കാരണം ഇത് പ്രധാന പേജിന് മുമ്പായി ലോഡ് ചെയ്തിരിക്കുന്നു.

പ്ലാറ്റ്ഫോം-നിർദ്ദിഷ്ട ടെംപ്ലേറ്റ് പേജുകൾ

മിക്ക കേസുകളിലും, കാണുന്നതിനായി ആപ്ലിക്കേഷനുകൾ വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട് വത്യസ്ത ഇനങ്ങൾകണ്ടെയ്നറുകൾ. അത് ആവാം വിവിധ ബ്രൗസറുകൾഅല്ലെങ്കിൽ PDA-കളിലും മൊബൈൽ ഫോണുകളിലും വെബ് ബ്രൗസറുകൾ.

അതിനാൽ, പേജ് നിർദ്ദേശത്തിന്റെ MasterPageFile ആട്രിബ്യൂട്ടിൽ നിർദ്ദിഷ്ട കണ്ടെയ്‌നറുകൾക്കായി വ്യത്യസ്ത ടെംപ്ലേറ്റ് പേജുകൾ നിർവചിക്കാൻ ASP.NET 2.0 നിങ്ങളെ അനുവദിക്കുന്നു.

ഉപസംഹാരം

എല്ലാ പേജുകളിലും പൊതുവായ തലക്കെട്ടുകൾ, അടിക്കുറിപ്പുകൾ, നാവിഗേഷൻ എന്നിവ ഉൾപ്പെടുന്ന ആപ്പുകൾ സൃഷ്ടിക്കുമ്പോൾ, ഡിസൈൻ പാറ്റേണുകൾ വഴി ജീവിതം എളുപ്പമാക്കാം. അവ ഉപയോഗിക്കാൻ എളുപ്പമാണ് കൂടാതെ മുഴുവൻ ആപ്ലിക്കേഷനും അപ്ഡേറ്റ് ചെയ്യുന്നതിലൂടെ എപ്പോൾ വേണമെങ്കിലും മാറ്റാവുന്നതാണ്.

ASP.NET മാസ്റ്റർ പേജുകൾ നിങ്ങളുടെ ആപ്ലിക്കേഷനിലെ പേജുകൾക്കായി ഒരു സ്ഥിരതയുള്ള ലേഔട്ട് സൃഷ്ടിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. നിങ്ങളുടെ ആപ്ലിക്കേഷനിലെ എല്ലാ പേജുകൾക്കും (അല്ലെങ്കിൽ ഒരു കൂട്ടം പേജുകൾ) നിങ്ങൾ ആഗ്രഹിക്കുന്ന രൂപവും ഭാവവും സാധാരണ സ്വഭാവവും ഒരൊറ്റ മാസ്റ്റർ പേജ് നിർവചിക്കുന്നു. തുടർന്ന് നിങ്ങൾ പ്രദർശിപ്പിക്കാൻ ആഗ്രഹിക്കുന്ന ഉള്ളടക്കം ഉൾക്കൊള്ളുന്ന വ്യക്തിഗത ഉള്ളടക്ക പേജുകൾ നിങ്ങൾക്ക് സൃഷ്ടിക്കാൻ കഴിയും. ഉപയോക്താക്കൾ ഉള്ളടക്ക പേജുകൾ അഭ്യർത്ഥിക്കുമ്പോൾ, മാസ്റ്റർ പേജിന്റെ ലേഔട്ടും ഉള്ളടക്ക പേജിൽ നിന്നുള്ള ഉള്ളടക്കവും സംയോജിപ്പിക്കുന്ന ഔട്ട്പുട്ട് നിർമ്മിക്കുന്നതിനായി അവർ മാസ്റ്റർ പേജുമായി ലയിക്കുന്നു.

മാസ്റ്റർ പേജുകൾ എങ്ങനെ പ്രവർത്തിക്കുന്നു

മാസ്റ്റർ പേജുകൾ യഥാർത്ഥത്തിൽ രണ്ട് കഷണങ്ങൾ ഉൾക്കൊള്ളുന്നു, മാസ്റ്റർ പേജ് തന്നെയും ഒന്നോ അതിലധികമോ ഉള്ളടക്ക പേജുകളും.

മാസ്റ്റർ പേജുകൾ

സ്റ്റാറ്റിക് ടെക്‌സ്‌റ്റ്, എച്ച്ടിഎംഎൽ ഘടകങ്ങൾ, സെർവർ നിയന്ത്രണങ്ങൾ എന്നിവ ഉൾപ്പെടുന്ന ഒരു മുൻനിശ്ചയിച്ച ലേഔട്ടോടുകൂടിയ .മാസ്റ്റർ (ഉദാഹരണത്തിന്, MySite.master) വിപുലീകരണമുള്ള ഒരു ASP.NET ഫയലാണ് മാസ്റ്റർ പേജ്. സാധാരണ .aspx പേജുകൾക്കായി ഉപയോഗിക്കുന്ന നിർദ്ദേശം മാറ്റിസ്ഥാപിക്കുന്ന ഒരു പ്രത്യേക നിർദ്ദേശമാണ് മാസ്റ്റർ പേജ് തിരിച്ചറിയുന്നത്. നിർദ്ദേശം ഇനിപ്പറയുന്നതായി തോന്നുന്നു.

@ മാസ്റ്റർ നിർദ്ദേശത്തിൽ ഒരു ഡയറക്‌ടീവിൽ അടങ്ങിയിരിക്കാവുന്ന അതേ നിർദ്ദേശങ്ങളിൽ ഭൂരിഭാഗവും അടങ്ങിയിരിക്കാം. ഉദാഹരണത്തിന്, ഇനിപ്പറയുന്ന മാസ്റ്റർ പേജ് നിർദ്ദേശത്തിൽ ഒരു കോഡ്-ബാക്ക് ഫയലിന്റെ പേര് ഉൾപ്പെടുന്നു, കൂടാതെ മാസ്റ്റർ പേജിന് ഒരു ക്ലാസ് നാമം നൽകുകയും ചെയ്യുന്നു.

@ മാസ്റ്റർ നിർദ്ദേശത്തിന് പുറമേ, html, തല, ഫോം എന്നിവ പോലുള്ള ഒരു പേജിനായുള്ള എല്ലാ ഉയർന്ന തലത്തിലുള്ള HTML ഘടകങ്ങളും മാസ്റ്റർ പേജിൽ അടങ്ങിയിരിക്കുന്നു. ഉദാഹരണത്തിന്, ഒരു മാസ്റ്റർ പേജിൽ നിങ്ങൾ ലേഔട്ടിനായി ഒരു HTML പട്ടിക, നിങ്ങളുടെ കമ്പനി ലോഗോയ്‌ക്കായി ഒരു img ഘടകം, പകർപ്പവകാശ അറിയിപ്പിനുള്ള സ്റ്റാറ്റിക് ടെക്‌സ്‌റ്റ്, നിങ്ങളുടെ സൈറ്റിനായി സാധാരണ നാവിഗേഷൻ സൃഷ്‌ടിക്കാൻ സെർവർ നിയന്ത്രണങ്ങൾ എന്നിവ ഉപയോഗിക്കാം. നിങ്ങൾക്ക് ഏതെങ്കിലും HTML ഉപയോഗിക്കാം കൂടാതെ ഏതെങ്കിലുംനിങ്ങളുടെ മാസ്റ്റർ പേജിന്റെ ഭാഗമായി ASP.NET ഘടകങ്ങൾ.

മാറ്റിസ്ഥാപിക്കാവുന്ന ഉള്ളടക്ക പ്ലെയ്‌സ്‌ഹോൾഡറുകൾ

എല്ലാ പേജുകളിലും ദൃശ്യമാകുന്ന സ്റ്റാറ്റിക് ടെക്‌സ്‌റ്റിനും നിയന്ത്രണങ്ങൾക്കും പുറമേ, മാസ്റ്റർ പേജിൽ ഒന്നോ അതിലധികമോ നിയന്ത്രണങ്ങളും ഉൾപ്പെടുന്നു. മാറ്റിസ്ഥാപിക്കാവുന്ന ഉള്ളടക്കം ദൃശ്യമാകുന്ന പ്രദേശങ്ങളെ ഈ പ്ലെയ്‌സ്‌ഹോൾഡർ നിയന്ത്രണങ്ങൾ നിർവ്വചിക്കുന്നു. അതാകട്ടെ, മാറ്റാവുന്ന ഉള്ളടക്കം ഉള്ളടക്ക പേജുകളിൽ നിർവചിച്ചിരിക്കുന്നു. നിങ്ങൾ നിയന്ത്രണങ്ങൾ നിർവചിച്ച ശേഷം, ഒരു മാസ്റ്റർ പേജ് ഇനിപ്പറയുന്നതു പോലെ കാണപ്പെടാം.

പ്രധാന പേജ് ശീർഷകം

പ്രധാന പേജ് ശീർഷകം

ഉള്ളടക്ക പേജുകൾ

ഒരു നിർദ്ദിഷ്‌ട മാസ്റ്റർ പേജുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന ASP.NET പേജുകൾ (.aspx ഫയലുകളും ഓപ്‌ഷണലായി, കോഡ്-ബാക്ക് ഫയലുകളും) വ്യക്തിഗത ഉള്ളടക്ക പേജുകൾ സൃഷ്‌ടിച്ചാണ് നിങ്ങൾ മാസ്റ്റർ പേജിന്റെ പ്ലെയ്‌സ്‌ഹോൾഡർ നിയന്ത്രണങ്ങൾക്കുള്ള ഉള്ളടക്കം നിർവ്വചിക്കുന്നത്. ബൈൻഡിംഗ് സ്ഥാപിച്ചു. ഉപയോഗിക്കേണ്ട മാസ്റ്റർ പേജിലേക്ക് പോയിന്റ് ചെയ്യുന്ന ഒരു ആട്രിബ്യൂട്ട് ഉൾപ്പെടുത്തിക്കൊണ്ട് ഉള്ളടക്ക പേജിന്റെ @ പേജ് നിർദ്ദേശം. ഉദാഹരണത്തിന്, ഒരു ഉള്ളടക്ക പേജിന് ഇനിപ്പറയുന്ന @ പേജ് നിർദ്ദേശം ഉണ്ടായിരിക്കാം, അത് Master1.master പേജുമായി ബന്ധിപ്പിക്കുന്നു.

ഉള്ളടക്ക പേജിൽ, നിയന്ത്രണങ്ങൾ ചേർത്തും മാസ്റ്റർ പേജിലെ നിയന്ത്രണങ്ങളിലേക്ക് മാപ്പ് ചെയ്തും നിങ്ങൾ ഉള്ളടക്കം സൃഷ്ടിക്കുന്നു. ഉദാഹരണത്തിന്, മാസ്റ്റർ പേജിൽ മെയിൻ, ഫൂട്ടർ എന്ന് വിളിക്കുന്ന ഉള്ളടക്ക പ്ലെയ്‌സ്‌ഹോൾഡറുകൾ ഉണ്ടായിരിക്കാം. ഉള്ളടക്ക പേജിൽ, നിങ്ങൾക്ക് കഴിയുംരണ്ട് നിയന്ത്രണങ്ങൾ സൃഷ്‌ടിക്കുക, ഒന്ന് മാപ്പ് ചെയ്‌തിരിക്കുന്നു പ്രധാന നിയന്ത്രണംമറ്റൊന്ന് ഇനിപ്പറയുന്ന ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ കൺട്രോൾ ഫൂട്ടറിലേക്ക് മാപ്പ് ചെയ്‌തു.

പ്ലെയ്‌സ്‌ഹോൾഡർ ഉള്ളടക്കം മാറ്റിസ്ഥാപിക്കുന്നു

പൊതുവേ, നിങ്ങളുടെ പേജുകൾ എങ്ങനെ നിർമ്മിക്കുന്നു അല്ലെങ്കിൽ അവ എങ്ങനെ പ്രോഗ്രാം ചെയ്യുന്നു എന്നതിനെ ഈ ഘടനയ്ക്ക് യാതൊരു സ്വാധീനവുമില്ല. എന്നിരുന്നാലും, ചില സന്ദർഭങ്ങളിൽ, നിങ്ങൾ മാസ്റ്റർ പേജിൽ ഒരു പേജ്-വൈഡ് പ്രോപ്പർട്ടി സജ്ജീകരിക്കുകയാണെങ്കിൽ, അത് ഉള്ളടക്ക പേജിന്റെ സ്വഭാവത്തെ ബാധിക്കും, കാരണം പേജിലെ നിയന്ത്രണങ്ങൾക്ക് ഏറ്റവും അടുത്തുള്ള രക്ഷകർത്താവ് മാസ്റ്റർ പേജാണ്. ഉദാഹരണത്തിന്, നിങ്ങൾ ഉള്ളടക്ക പേജിലെ പ്രോപ്പർട്ടി ശരിയായി സജ്ജീകരിക്കുകയും അതേ പ്രോപ്പർട്ടിയെ മാസ്റ്റർ പേജിൽ തെറ്റ് എന്ന് സജ്ജീകരിക്കുകയും ചെയ്താൽ, മാസ്റ്റർ പേജിലെ ക്രമീകരണത്തിന് മുൻഗണന ലഭിക്കുന്നതിനാൽ കാഴ്ച അവസ്ഥ ഫലപ്രദമായി പ്രവർത്തനരഹിതമാക്കും.

മാസ്റ്റർ പേജും ഉള്ളടക്ക പേജ് പാതകളും

ഒരു ഉള്ളടക്ക പേജ് അഭ്യർത്ഥിക്കുമ്പോൾ, അതിന്റെ ഉള്ളടക്കം മാസ്റ്റർ പേജുമായി ലയിപ്പിക്കുകയും ഉള്ളടക്ക പേജിന്റെ പശ്ചാത്തലത്തിൽ പേജ് പ്രവർത്തിക്കുകയും ചെയ്യുന്നു. ഉദാഹരണത്തിന്, ഉള്ളടക്ക പേജ് കോഡിലോ മാസ്റ്റർ പേജ് കോഡിലോ നിങ്ങൾക്ക് ഒബ്‌ജക്റ്റിന്റെ പ്രോപ്പർട്ടി ലഭിക്കുകയാണെങ്കിൽ, പാത്ത് ഉള്ളടക്ക പേജിന്റെ സ്ഥാനത്തെ പ്രതിനിധീകരിക്കുന്നു.

മാസ്റ്റർ പേജും ഉള്ളടക്ക പേജും ഒരേ ഫോൾഡറിൽ ആയിരിക്കണമെന്നില്ല. ഉള്ളടക്ക പേജിന്റെ @ പേജ് നിർദ്ദേശത്തിലെ ആട്രിബ്യൂട്ട് ഒരു .മാസ്റ്റർ പേജിലേക്ക് പരിഹരിക്കുന്നിടത്തോളം, ASP.NET-ന് ഉള്ളടക്കവും മാസ്റ്റർ പേജുകളും ഒരു റെൻഡർ ചെയ്‌ത പേജിലേക്ക് ലയിപ്പിക്കാനാകും.

ബാഹ്യ വിഭവങ്ങൾ പരാമർശിക്കുന്നു

ഉള്ളടക്ക പേജിലും മാസ്റ്റർ പേജിലും ബാഹ്യ ഉറവിടങ്ങളെ പരാമർശിക്കുന്ന നിയന്ത്രണങ്ങളും ഘടകങ്ങളും അടങ്ങിയിരിക്കാം. ഉദാഹരണത്തിന്, രണ്ടിലും ഇമേജ് ഫയലുകളെ പരാമർശിക്കുന്ന ഇമേജ് നിയന്ത്രണങ്ങൾ അടങ്ങിയിരിക്കാം, അല്ലെങ്കിൽ അവയിൽ മറ്റ് പേജുകളെ പരാമർശിക്കുന്ന ആങ്കറുകൾ അടങ്ങിയിരിക്കാം.

ലയിപ്പിച്ച ഉള്ളടക്കത്തിന്റെയും മാസ്റ്റർ പേജുകളുടെയും സന്ദർഭം ഉള്ളടക്ക പേജിന്റേതാണ്. ആങ്കറുകളിലെ ഇമേജ് ഫയലുകൾ, ടാർഗെറ്റ് പേജുകൾ എന്നിവ പോലുള്ള ഉറവിടങ്ങൾക്കായി നിങ്ങൾ URL-കൾ എങ്ങനെ വ്യക്തമാക്കുന്നു എന്നതിനെ ഇത് ബാധിക്കും.

സെർവർ നിയന്ത്രണങ്ങൾ

മാസ്റ്റർ പേജുകളിലെ സെർവർ നിയന്ത്രണങ്ങളിൽ, ബാഹ്യ ഉറവിടങ്ങളെ പരാമർശിക്കുന്ന പ്രോപ്പർട്ടികളുടെ URL-കൾ ASP.NET ചലനാത്മകമായി പരിഷ്‌ക്കരിക്കുന്നു. ഉദാഹരണത്തിന്, നിങ്ങൾ ഒരു മാസ്റ്റർ പേജിൽ ഒരു നിയന്ത്രണം ഏർപ്പെടുത്തുകയും അതിന്റെ പ്രോപ്പർട്ടി മാസ്റ്റർ പേജുമായി ആപേക്ഷികമായി സജ്ജമാക്കുകയും ചെയ്യാം. ചെയ്തത് റൺ സമയം, ASP.NET URL പരിഷ്കരിക്കും, അതുവഴി ഉള്ളടക്ക പേജിന്റെ സന്ദർഭത്തിൽ അത് ശരിയായി പരിഹരിക്കപ്പെടും.

ഇനിപ്പറയുന്ന സന്ദർഭങ്ങളിൽ ASP.NET-ന് URL-കൾ പരിഷ്കരിക്കാനാകും:

    URL ഒരു ASP.NET സെർവർ നിയന്ത്രണത്തിന്റെ ഒരു സ്വത്താണ്.

    പ്രോപ്പർട്ടി ഒരു URL ആയി നിയന്ത്രണത്തിൽ ആന്തരികമായി അടയാളപ്പെടുത്തിയിരിക്കുന്നു. (പ്രോപ്പർട്ടി ആട്രിബ്യൂട്ട് ഉപയോഗിച്ച് അടയാളപ്പെടുത്തിയിരിക്കുന്നു.) പ്രായോഗികമായി, ബാഹ്യ ഉറവിടങ്ങളെ പരാമർശിക്കാൻ സാധാരണയായി ഉപയോഗിക്കുന്ന ASP.NET സെർവർ നിയന്ത്രണ പ്രോപ്പർട്ടികൾ ഈ രീതിയിൽ അടയാളപ്പെടുത്തുന്നു.

മറ്റ് ഘടകങ്ങൾ

ASP.NET-ന് ഘടകങ്ങളിൽ URL-കൾ പരിഷ്‌ക്കരിക്കാൻ കഴിയില്ല അല്ലസെർവർ നിയന്ത്രണങ്ങൾ. ഉദാഹരണത്തിന്, നിങ്ങൾ ഒരു മാസ്റ്റർ പേജിൽ ഒരു img ഘടകം ഉപയോഗിക്കുകയും അതിന്റെ src ആട്രിബ്യൂട്ട് ഒരു URL-ലേക്ക് സജ്ജമാക്കുകയും ചെയ്താൽ, ASP.NET URL പരിഷ്കരിക്കില്ല. അങ്ങനെയെങ്കിൽ, ഉള്ളടക്ക പേജിന്റെ പശ്ചാത്തലത്തിൽ URL പരിഹരിക്കപ്പെടുകയും അതിനനുസരിച്ച് URL സൃഷ്ടിക്കുകയും ചെയ്യും.

പൊതുവേ, മാസ്റ്റർ പേജുകളിലെ ഘടകങ്ങളുമായി പ്രവർത്തിക്കുമ്പോൾ, സെർവർ കോഡ് ആവശ്യമില്ലാത്ത ഘടകങ്ങൾക്ക് പോലും നിങ്ങൾ ഒരു സെർവർ നിയന്ത്രണം ഉപയോഗിക്കാൻ ശുപാർശ ചെയ്യുന്നു. ഉദാഹരണത്തിന്, ഒരു img ഘടകം ഉപയോഗിക്കുന്നതിന് പകരം, ഒരു സെർവർ നിയന്ത്രണം ഉപയോഗിക്കുക. അതുവഴി, ASP.NET-ന് URL-കൾ ശരിയായി പരിഹരിക്കാൻ കഴിയും കൂടാതെ നിങ്ങൾ മാസ്റ്റർ അല്ലെങ്കിൽ ഉള്ളടക്ക പേജ് നീക്കിയാൽ ഉണ്ടാകുന്ന അറ്റകുറ്റപ്പണി പ്രശ്നങ്ങൾ ഒഴിവാക്കാനാകും.

ASP.NET സെർവർ നിയന്ത്രണങ്ങൾക്കായുള്ള പാതകൾ വ്യക്തമാക്കുന്നതിനെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക്, ASP.NET വെബ്‌സൈറ്റ് പാതകൾ കാണുക.

പ്രധാന പേജുകളും തീമുകളും

നിങ്ങൾക്ക് ഒരു ASP.NET തീം ഒരു മാസ്റ്റർ പേജിലേക്ക് നേരിട്ട് പ്രയോഗിക്കാൻ കഴിയില്ല. @ മാസ്റ്റർ നിർദ്ദേശത്തിലേക്ക് നിങ്ങൾ ഒരു തീം ആട്രിബ്യൂട്ട് ചേർക്കുകയാണെങ്കിൽ, അത് പ്രവർത്തിക്കുമ്പോൾ പേജ് ഒരു പിശക് ഉയർത്തും.

എന്നിരുന്നാലും, ഇനിപ്പറയുന്ന സാഹചര്യങ്ങളിൽ തീമുകൾ മാസ്റ്റർ പേജുകളിൽ പ്രയോഗിക്കുന്നു:

    ഉള്ളടക്ക പേജിൽ ഒരു തീം നിർവചിച്ചിട്ടുണ്ടെങ്കിൽ. മാസ്റ്റർ പേജുകൾ ഉള്ളടക്ക പേജുകളുടെ പശ്ചാത്തലത്തിൽ പരിഹരിക്കപ്പെടുന്നു, അതിനാൽ ഉള്ളടക്ക പേജിന്റെ തീം മാസ്റ്റർ പേജിലും പ്രയോഗിക്കുന്നു.

    ഘടകത്തിൽ ഒരു തീം നിർവചനം ഉൾപ്പെടുത്തി ഒരു തീം ഉപയോഗിക്കുന്നതിന് സൈറ്റ് മൊത്തത്തിൽ കോൺഫിഗർ ചെയ്‌തിട്ടുണ്ടെങ്കിൽ.

സ്കോപ്പിംഗ് മാസ്റ്റർ പേജുകൾ

നിങ്ങൾക്ക് മൂന്ന് തലങ്ങളിൽ മാസ്റ്റർ പേജിലേക്ക് ഉള്ളടക്ക പേജുകൾ അറ്റാച്ചുചെയ്യാം:

    പേജ് തലത്തിൽ, ഇനിപ്പറയുന്ന കോഡ് ഉദാഹരണത്തിലെന്നപോലെ, ഒരു മാസ്റ്റർ പേജിലേക്ക് ബന്ധിപ്പിക്കുന്നതിന് ഓരോ ഉള്ളടക്ക പേജിലും നിങ്ങൾക്ക് ഒരു പേജ് നിർദ്ദേശം ഉപയോഗിക്കാം.

    ആപ്ലിക്കേഷൻ തലത്തിൽ, ആപ്ലിക്കേഷന്റെ കോൺഫിഗറേഷൻ ഫയലിന്റെ (Web.config) പേജ് എലമെന്റിൽ ഒരു ക്രമീകരണം നടത്തുന്നതിലൂടെ, ആപ്ലിക്കേഷനിലെ എല്ലാ ASP.NET പേജുകളും (.aspx ഫയലുകൾ) ഒരു മാസ്റ്റർ പേജിലേക്ക് സ്വയമേവ ബന്ധിപ്പിക്കുന്നതായി നിങ്ങൾക്ക് വ്യക്തമാക്കാൻ കഴിയും. ഘടകം ഇനിപ്പറയുന്നതു പോലെ കാണപ്പെടാം.

    നിങ്ങൾ ഈ തന്ത്രം ഉപയോഗിക്കുകയാണെങ്കിൽ, നിയന്ത്രണങ്ങളുള്ള ആപ്ലിക്കേഷനിലെ എല്ലാ ASP.NET പേജുകളും നിർദ്ദിഷ്ട മാസ്റ്റർ പേജുമായി ലയിപ്പിക്കും. (ഒരു ASP.NET പേജിൽ നിയന്ത്രണങ്ങൾ ഇല്ലെങ്കിൽ, മാസ്റ്റർ പേജ് ബാധകമല്ല.)

    ഫോൾഡർ തലത്തിൽ, ഈ തന്ത്രം ആപ്ലിക്കേഷൻ തലത്തിൽ ബൈൻഡിംഗ് പോലെയാണ്, നിങ്ങൾ ഒരു വെബ്. കോൺഫിഗറേഷൻ ഫയലിൽ ഒരു ഫോൾഡറിൽ മാത്രം ക്രമീകരണം ചെയ്യുന്നു എന്നതൊഴിച്ചാൽ. മാസ്റ്റർ പേജ് ബൈൻഡിംഗുകൾ ആ ഫോൾഡറിലെ ASP.NET പേജുകൾക്ക് ബാധകമാണ്.

HTML-ൽ ഹലോ w3ii

ഈ കോഡ് ഒരു HTML പേജായി ഒരു ഉദാഹരണം കാണിക്കുന്നു:




ഹലോ w3ii!


firstpage.htm" കൂടാതെ ഫയലിലേക്ക് ഇതുപോലുള്ള ഒരു ലിങ്ക് സൃഷ്ടിക്കുക: firstpage.htm

ASP.NET-ൽ ഹലോ w3ii

പരിവർത്തനം ചെയ്യാനുള്ള എളുപ്പവഴി HTML പേജ്.aspx വിപുലീകരണത്തോടുകൂടിയ ഒരു പുതിയ ഫയലിലേക്ക് HTML ഫയൽ പകർത്താൻ ASP.NET പേജിൽ.

ഒരു ASP.NET പേജിലെന്നപോലെ ഈ കോഡ് ഞങ്ങളുടെ ഉദാഹരണം കാണിക്കുന്നു:




ഹലോ w3ii!


നിങ്ങൾക്ക് ഇത് സ്വയം പരീക്ഷിക്കാൻ താൽപ്പര്യമുണ്ടെങ്കിൽ, "firstpage.aspx" എന്ന ഫയലിൽ കോഡ് സംരക്ഷിക്കുക, കൂടാതെ ഫയലിലേക്ക് ഇതുപോലെ ഒരു ലിങ്ക് സൃഷ്ടിക്കുക: firstpage.aspx

ഇത് എങ്ങനെ പ്രവർത്തിക്കുന്നു?

അടിസ്ഥാനപരമായി, ഒരു ASP.NET പേജ് ഒരു HTML പേജിന് തുല്യമാണ്.

ഒരു HTML പേജിന് .htm എന്ന വിപുലീകരണമുണ്ട്. സെർവറിൽ നിന്ന് ബ്രൗസർ ഒരു HTML പേജ് അഭ്യർത്ഥിച്ചാൽ, സെർവർ യാതൊരു മാറ്റവുമില്ലാതെ ആ പേജ് ബ്രൗസറിലേക്ക് അയയ്ക്കുന്നു.

ഒരു ASP.NET പേജിന് .aspx വിപുലീകരണമുണ്ട്. ബ്രൗസർ ഒരു ASP.NET പേജ് അഭ്യർത്ഥിച്ചാൽ, സെർവർ എന്തെങ്കിലും പ്രോസസ്സ് ചെയ്യുന്നു എക്സിക്യൂട്ടബിൾ കോഡ്പേജ്, ഫലം ബ്രൗസറിലേക്ക് തിരികെ അയയ്ക്കുന്നതിന് മുമ്പ്.

മുകളിലുള്ള ASP.NET പേജിൽ എക്സിക്യൂട്ടബിൾ കോഡുകളൊന്നും അടങ്ങിയിട്ടില്ല, അതിനാൽ ഒന്നും എക്സിക്യൂട്ട് ചെയ്യപ്പെടുന്നില്ല. സ്റ്റാറ്റിക് HTML പേജുകളും ഡൈനാമിക് പേജുകളും തമ്മിലുള്ള വ്യത്യാസം കാണിക്കാൻ ഇനിപ്പറയുന്ന ഉദാഹരണങ്ങളിൽ ഞങ്ങൾ എക്സിക്യൂട്ടബിൾ പേജ് കോഡ് ചേർക്കും. ASP പേജുകൾ.

ക്ലാസിക് ASP

സജീവ സെർവർ പേജുകൾ (ASP) നിരവധി വർഷങ്ങളായി നിലവിലുണ്ട്. ASP ഉപയോഗിച്ച്, HTML പേജുകൾക്കുള്ളിൽ എക്സിക്യൂട്ടബിൾ കോഡ് സ്ഥാപിക്കാൻ കഴിയും.

ASP-യുടെ മുൻ പതിപ്പുകൾ (ASP .NET-ന് മുമ്പ്) പലപ്പോഴും ക്ലാസിക് ASP എന്ന് വിളിക്കപ്പെടുന്നു.

ASP.NET ക്ലാസിക് ASP-യുമായി പൂർണ്ണമായും പൊരുത്തപ്പെടുന്നില്ല, എന്നാൽ മിക്ക ക്ലാസിക് ASP പേജുകളും ചെറിയ മാറ്റങ്ങളോടെ ASP.NET പേജുകളായി നന്നായി പ്രവർത്തിക്കും.

നിങ്ങൾക്ക് ക്ലാസിക് എഎസ്പിയെക്കുറിച്ച് കൂടുതലറിയണമെങ്കിൽ, ഞങ്ങളുടെ എഎസ്പി ട്യൂട്ടോറിയൽ സന്ദർശിക്കുക.

ക്ലാസിക് ASP-യിലെ ഡൈനാമിക് പേജുകൾ

ഡൈനാമിക് ഉള്ളടക്കമുള്ള പേജുകൾ എഎസ്പിക്ക് എങ്ങനെ റെൻഡർ ചെയ്യാം എന്ന് കാണിക്കാൻ, മുമ്പത്തെ ഉദാഹരണത്തിൽ ഞങ്ങൾ ചില എക്സിക്യൂട്ടബിൾ കോഡ് (ചുവപ്പ് നിറത്തിൽ) ചേർത്തു:




ഹലോ w3ii!




ടാഗിനുള്ളിലെ കോഡ് സെർവറിൽ എക്സിക്യൂട്ട് ചെയ്യുന്നു.

പ്രതികരണം.എഴുതുക എന്നത് HTML ഔട്ട്‌പുട്ട് സ്ട്രീമിലേക്ക് എന്തെങ്കിലും എഴുതുന്നതിനുള്ള ASP കോഡാണ്.

ഇപ്പോൾ() എന്നത് സെർവറുകളുടെ നിലവിലെ തീയതിയും സമയവും നൽകുന്നതിനുള്ള ഒരു ഫംഗ്‌ഷനാണ്.

നിങ്ങൾക്ക് ഇത് സ്വയം പരീക്ഷിക്കാൻ താൽപ്പര്യമുണ്ടെങ്കിൽ, "dynpage.asp" എന്ന ഫയലിൽ കോഡ് സംരക്ഷിക്കുക, കൂടാതെ ഫയലിലേക്ക് ഇതുപോലെ ഒരു ലിങ്ക് സൃഷ്ടിക്കുക: dynpage.asp

ASP .NET-ലെ ഡൈനാമിക് പേജുകൾ

ഒരു ASP.NET പേജിലെന്നപോലെ ഈ കോഡ് ഞങ്ങളുടെ ഉദാഹരണം നൽകുന്നു:




ഹലോ w3ii!




നിങ്ങൾക്ക് ഇത് സ്വയം പരീക്ഷിക്കാൻ താൽപ്പര്യമുണ്ടെങ്കിൽ, "dynpage.aspx" എന്ന ഫയലിൽ കോഡ് സംരക്ഷിക്കുക, കൂടാതെ ഫയലിലേക്ക് ഇതുപോലെ ഒരു ലിങ്ക് സൃഷ്ടിക്കുക: dynpage.aspx

ASP.NET vs ക്ലാസിക് ASP

മുമ്പത്തെ ഉദാഹരണങ്ങൾ ASP.NET ഉം ക്ലാസിക് ASP ഉം തമ്മിലുള്ള വ്യത്യാസങ്ങളൊന്നും കാണിക്കുന്നില്ല.

കഴിഞ്ഞ രണ്ട് ഉദാഹരണങ്ങളിൽ നിന്ന് നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ഈ രണ്ട് ASP, ASP.NET പേജുകൾ തമ്മിൽ വ്യത്യാസങ്ങളൊന്നുമില്ല.

ഇനിപ്പറയുന്ന അധ്യായങ്ങളിൽ, ASP.NET സെർവർ നിയന്ത്രണങ്ങൾ ക്ലാസിക് ASP-യെക്കാൾ ശക്തമാക്കുന്നത് എങ്ങനെയെന്ന് നിങ്ങൾ കാണും.

ASP.NET-ലെ ഒരു അപൂർവ അഭിമുഖം ASP.NET വെബ് ഫോമുകളിലെ ഒരു പേജിന്റെ ജീവിത ചക്രത്തെക്കുറിച്ച് ഒരു ചോദ്യമില്ലാതെ പൂർത്തിയാകില്ല (ഇനിമുതൽ ചുരുക്കത്തിൽ ASP.NET എന്ന് വിളിക്കുന്നു). ഈ പ്രശ്നം മനസിലാക്കാൻ ശ്രമിക്കാം. ഞാൻ വിഷയം രണ്ടായി വിഭജിച്ചു. ഈ ലേഖനത്തിൽ നമ്മൾ ASP.NET-ലെ പേജ് ലൈഫ് സൈക്കിളിന്റെ ഘട്ടങ്ങൾ നോക്കും.

ASP.NET പേജിന്റെ പൊതുവായ പ്ലാൻ ലൈഫ് സൈക്കിൾ
  • IIS വെബ് സെർവർ മുഖേന ഒരു പേജ് അഭ്യർത്ഥന സ്വീകരിക്കുകയും പ്രോസസ്സ് ചെയ്യുകയും ചെയ്യുന്നു
  • ASP.NET റൺടൈമിലേക്ക് അഭ്യർത്ഥന കൈമാറുന്നു
  • റൺടൈം:

    * വിളിക്കുന്ന പേജിന്റെ ക്ലാസ് ലോഡ് ചെയ്യുന്നു * പേജ് ക്ലാസിന്റെ പ്രോപ്പർട്ടികൾ സജ്ജീകരിക്കുന്നു * ഘടകങ്ങളുടെ ഒരു വൃക്ഷം നിർമ്മിക്കുന്നു * അഭ്യർത്ഥന, പ്രതികരണ പ്രോപ്പർട്ടികൾ പൂരിപ്പിക്കുന്നു * ``IHttpHandler.ProcessRequest``` രീതിയെ വിളിക്കുന്നു

ഘട്ടങ്ങൾ

8 പ്രധാന ഘട്ടങ്ങളുണ്ട്. ഇനിപ്പറയുന്ന ഡയഗ്രം ഇത് വ്യക്തമായി പ്രകടമാക്കുന്നു

സ്റ്റേജ് വിവരണം
അഭ്യർത്ഥന പേജ് പേജിന്റെ ജീവിത ചക്രം ആരംഭിക്കുന്നതിന് മുമ്പ് പേജ് അഭ്യർത്ഥന സംഭവിക്കുന്നു. ഉപയോക്താവ് ഒരു അഭ്യർത്ഥന നടത്തുന്നു, ASP.NET റൺടൈം പേജ് കംപൈൽ ചെയ്യണമോ എന്ന് നിർണ്ണയിക്കുകയും ആരംഭിക്കുകയും ചെയ്യുന്നു ജീവിത ചക്രം, അല്ലെങ്കിൽ പേജ് എക്സിക്യൂട്ട് ചെയ്യാതെ തന്നെ നിങ്ങൾക്ക് ഒരു കാഷെ ചെയ്ത പേജ് ഒരു പ്രതികരണമായി തിരികെ നൽകാം.
പ്രോസസ്സിംഗ് ആരംഭിക്കുക ഈ ഘട്ടത്തിൽ, Response and Request പ്രോപ്പർട്ടികൾ, UICulture പ്രോപ്പർട്ടി എന്നിവ സജ്ജീകരിച്ചിരിക്കുന്നു. ഈ ഘട്ടം ഒരു പോസ്റ്റ്ബാക്കിന്റെ ഫലമായി പേജ് അഭ്യർത്ഥിച്ചതാണോ എന്ന് നിർണ്ണയിക്കുകയും അതിനനുസരിച്ച് IsPostBack പ്രോപ്പർട്ടി സജ്ജമാക്കുകയും ചെയ്യുന്നു.
പേജ് സമാരംഭം പേജ് ആരംഭിക്കുമ്പോഴേക്കും, എല്ലാ ചൈൽഡ് ഉപയോക്തൃ നിയന്ത്രണങ്ങളും ഇതിനകം തന്നെ സൃഷ്‌ടിക്കപ്പെട്ടിട്ടുണ്ട്, കൂടാതെ അവരുടെ UniqueID പ്രോപ്പർട്ടി സജ്ജീകരിച്ചിരിക്കുന്നു. ഈ സമയത്ത്, തീമുകൾ പേജിൽ പ്രയോഗിക്കുന്നു. ഒരു പോസ്റ്റ്ബാക്കിന്റെ ഫലമായാണ് പേജ് വിളിക്കുന്നതെങ്കിൽ, സെർവറിലേക്ക് അയച്ച ഡാറ്റ ഈ ഘട്ടത്തിൽ ഇതുവരെ നിയന്ത്രണങ്ങളുടെ പ്രോപ്പർട്ടികളിലേക്ക് ലോഡ് ചെയ്തിട്ടില്ല.
ഒരു പോസ്റ്റ്ബാക്കിന്റെ ഫലമായാണ് പേജ് വിളിക്കുന്നതെങ്കിൽ, ഈ ഘട്ടത്തിൽ നിയന്ത്രണങ്ങളുടെ പ്രോപ്പർട്ടികൾ സംസ്ഥാന വിവരങ്ങളുടെ (വ്യൂസ്റ്റേറ്റ്, കൺട്രോൾസ്റ്റേറ്റ്) അടിസ്ഥാനമാക്കി സജ്ജീകരിച്ചിരിക്കുന്നു.
മൂല്യനിർണ്ണയം പേജിലെ എല്ലാ വാലിഡേറ്റർമാർക്കും Validate() രീതി വിളിക്കുന്നു.
പോസ്റ്റ്ബാക്ക് പ്രോസസ്സിംഗ് ഒരു പോസ്റ്റ്ബാക്ക് സംഭവിച്ചിട്ടുണ്ടെങ്കിൽ ഇവന്റ് ഹാൻഡ്ലർമാരെ വിളിക്കുന്നു.
റെൻഡറിംഗ് സംസ്ഥാന വിവരങ്ങൾ സംരക്ഷിച്ചു, തുടർന്ന് പേജ് ക്ലാസ് ഉചിതമായ രീതികൾ വിളിക്കുന്നു കുട്ടികളുടെ ഘടകങ്ങൾഒരു HTML പ്രാതിനിധ്യം സൃഷ്ടിക്കുന്നതിനും അത് Response.OutputStream-ലേക്ക് കൈമാറുന്നതിനും നിയന്ത്രിക്കുന്നു.
അൺലോഡ് ചെയ്യുന്നു മുഴുവൻ പേജിനുമുള്ള HTML പ്രാതിനിധ്യം സൃഷ്ടിച്ചതിന് ശേഷം അൺലോഡിംഗ് സംഭവിക്കുന്നു.

പേജ് 10 / 11

ഒരു പേജ് സൃഷ്ടിക്കുന്നു

ഡിസൈൻ ടെംപ്ലേറ്റുകൾ ഉപയോഗിക്കുന്നത് പേജുകളിൽ സ്വന്തം ആവശ്യകതകൾ ചുമത്തുന്നു. ടെംപ്ലേറ്റിൽ ContentPlaceHolder നിയന്ത്രണങ്ങൾ അടങ്ങിയിരിക്കുന്നതിനാൽ, പേജിൽ മാർക്ക്അപ്പ് കോഡും ഫലമായുണ്ടാകുന്ന പേജിൽ റെൻഡർ ചെയ്യുന്ന മറ്റ് നിയന്ത്രണങ്ങളും അടങ്ങിയിരിക്കുന്ന ഉള്ളടക്ക നിയന്ത്രണങ്ങൾ ഉണ്ടായിരിക്കണം. പേജിൽ ഒന്നും അടങ്ങിയിരിക്കരുത് സെർവർ ഘടകങ്ങൾഉള്ളടക്ക നിയന്ത്രണങ്ങൾക്ക് പുറത്തുള്ള നിയന്ത്രണം അല്ലെങ്കിൽ മാർക്ക്അപ്പ് കോഡ്.

    പുറം 1

  • പേജ് 2

  • പേജ് 3



ടെംപ്ലേറ്റ് പോലെ, പേജ് ലോജിക് കോഡ് സാധാരണ രീതിയിൽ സൃഷ്ടിച്ചിരിക്കുന്നു. ഒരേയൊരു വ്യത്യാസം പേജിന് ഹെഡ്കൺട്രോൾ പോലുള്ള സ്വന്തം ഒബ്‌ജക്റ്റുകൾ ഇല്ല എന്നതാണ്, അതിനാൽ നിങ്ങൾ മാസ്റ്റർ പ്രോപ്പർട്ടി വഴി ടെംപ്ലേറ്റ് പേജിലേക്കുള്ള ഒരു ലിങ്ക് ഉപയോഗിക്കേണ്ടതുണ്ട്.

സംരക്ഷിത ശൂന്യമായ പേജ്_ലോഡ്(ഒബ്ജക്റ്റ് അയച്ചയാൾ, EventArgs e)(

എങ്കിൽ (!Page.IsPostBack) Master.Page.Header.Title = "ഹോം പേജ്";}!}

സംരക്ഷിത ശൂന്യത btnShow_Click(object sender, EventArgs e)( PlaceHolder.Controls.Add(

പുതിയ ലിറ്ററൽ കൺട്രോൾ(" അലേർട്ട്("ഗുഡ് ആഫ്റ്റർനൂൺ, " + txtName.Text + ""); "));

Master.Page.Header.Title = "ഗുഡ് ആഫ്റ്റർനൂൺ," + txtName.Text;} !}

ഒരു ടെംപ്ലേറ്റിലേക്ക് ഒരു പേജ് ബന്ധിപ്പിക്കുന്നതിന്, പേജ് നിർദ്ദേശത്തിന്റെ MasterPageFile ആട്രിബ്യൂട്ട് ഉപയോഗിക്കുക. നിങ്ങൾക്ക് ഡയറക്‌ടറിയിലെ എല്ലാ പേജുകളിലേക്കും ഒരേ ടെംപ്ലേറ്റ് ബൈൻഡ് ചെയ്യണമെങ്കിൽ, ഓരോ പേജിനും MasterPageFile ആട്രിബ്യൂട്ട് വ്യക്തമാക്കേണ്ട ആവശ്യമില്ല; web.config ഫയലിൽ അടിസ്ഥാന ടെംപ്ലേറ്റ് സജ്ജമാക്കിയാൽ മതി.


കൂടാതെ, ASP.NET ഒരു തീം പ്രോഗ്രാമാറ്റിക് ആയി സജ്ജീകരിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. മുകളിൽ സൂചിപ്പിച്ചതുപോലെ, ഡിസൈൻ ടെംപ്ലേറ്റുമായി ലോഡുചെയ്യുന്നതും ലിങ്കുചെയ്യുന്നതും പേജ് ആരംഭിക്കുന്നതിന് തയ്യാറെടുക്കുമ്പോൾ സംഭവിക്കുന്നു. അതിനാൽ, നിങ്ങൾക്ക് പേജ് ഡിസൈൻ ടെംപ്ലേറ്റ് മാറ്റണമെങ്കിൽ, നിങ്ങൾ ഇത് PreInit ഇവന്റ് ഹാൻഡ്‌ലറിൽ ചെയ്യണം.

സംരക്ഷിത ശൂന്യമായ Page_PreInit(object sender, EventArgs e)( Page.MasterPageFile = "AnotherMaster.master";)

ASP.NET ടെംപ്ലേറ്റ് പ്രോസസ്സിംഗ്

ആദ്യമായി ഒരു പേജ് ആക്സസ് ചെയ്യുമ്പോൾ, ASP.NET ഡയറക്ടറിയിലെ എല്ലാ ടെംപ്ലേറ്റുകൾക്കുമായി അസംബ്ലികൾ തിരയുകയും സമാഹരിക്കുകയും ചെയ്യുന്നു. ഡയറക്‌ടറിയിലെ ടെംപ്ലേറ്റ് പേജുകളുടെ എണ്ണത്തെ ആശ്രയിച്ച് ഈ പ്രവർത്തനത്തിന് കുറച്ച് സമയമെടുക്കും, പക്ഷേ ഒരിക്കൽ മാത്രമേ ഇത് നടപ്പിലാക്കുകയുള്ളൂ. അതിനാൽ, ഡയറക്‌ടറിയിൽ ഉപയോഗിക്കാത്ത ടെംപ്ലേറ്റുകൾ ഉണ്ടെങ്കിൽ, ആപ്ലിക്കേഷൻ പ്രവർത്തിക്കുമ്പോൾ ഇത് പ്രകടന നഷ്ടത്തിലേക്ക് നയിക്കില്ല, അസൗകര്യം അധിക സമയം മാത്രമാണ്, കൂടാതെ ഉപയോഗിക്കാത്ത പേജുകൾക്കായി അനാവശ്യ അസംബ്ലികളുടെ സമാഹാരം.

തന്നിരിക്കുന്ന ഡിസൈൻ ടെംപ്ലേറ്റുള്ള ഒരു പേജിന്റെ aspx ഫയൽ ആക്സസ് ചെയ്യുമ്പോൾ, കംപൈലേഷൻ പ്രക്രിയ സാധാരണ പേജ് കംപൈലേഷൻ പ്രക്രിയയിൽ നിന്ന് വ്യത്യസ്തമല്ല, ഒരു MasterPage ടെംപ്ലേറ്റ് ക്ലാസ് സൃഷ്ടിക്കപ്പെടുന്നു എന്നതൊഴിച്ചാൽ, അതിലേക്കുള്ള ഒരു ലിങ്ക് Page.Master പ്രോപ്പർട്ടിയിൽ ലഭ്യമാണ്.

ഈ ലേഖനത്തിൽ മുകളിൽ വിവരിച്ച എല്ലാ ഘട്ടങ്ങളിലൂടെയും പേജ് കടന്നുപോകുന്നു, അതിന്റെ ഫലമായി ക്ലയന്റിലേക്ക് അയയ്ക്കുന്ന HTML കോഡ് ജനറേറ്റുചെയ്യുന്നു. ബ്രൗസറിന് ലഭിച്ച HTML-ൽ, കോഡിന്റെ ഏത് ഭാഗമാണ് ഡിസൈൻ ടെംപ്ലേറ്റിൽ വ്യക്തമാക്കിയിട്ടുള്ളതെന്നും പേജിൽ തന്നെ കോഡിന്റെ ഏത് ഭാഗമാണ് നിർവചിച്ചിരിക്കുന്നതെന്നും നിർണ്ണയിക്കാൻ ഇനി സാധ്യമല്ല, കാരണം ContentPlaceHolder, Content controls എന്നിവയ്ക്ക് HTML ഒന്നുമില്ല. കത്തിടപാടുകൾ കൂടാതെ അവയുടെ ഉള്ളടക്കം ഒഴികെയുള്ള അധിക ടാഗുകൾ സൃഷ്ടിക്കരുത്.

ഹോംപേജ്

  • പുറം 1
  • പേജ് 2

  • പേജ് 3\


\

സമയം: 03/20/2005

ഒരു ടെംപ്ലേറ്റ് ഒരു പേജിന്റെ ഉപവിഭാഗമായതിനാൽ, MasterPageFile ആട്രിബ്യൂട്ട് ഉപയോഗിച്ച് മാസ്റ്റർ ഡയറക്‌ടീവിലെ ടെംപ്ലേറ്റിനായി മറ്റൊരു ടെംപ്ലേറ്റിലേക്കുള്ള പാത വ്യക്തമാക്കി നെസ്റ്റഡ് ടെംപ്ലേറ്റുകൾ സൃഷ്ടിക്കുന്നത് അനുവദനീയമാണ്. ഇത് ചെയ്യുന്നതിന്, നിങ്ങൾ പ്രധാന ടെംപ്ലേറ്റിൽ ContentPlaceHolder നിയന്ത്രണങ്ങൾ നിർവചിക്കേണ്ടതുണ്ട്, കൂടാതെ "ചൈൽഡ്" ടെംപ്ലേറ്റുകളിൽ, ContentPlaceHolder ഘടകങ്ങൾക്കൊപ്പം, അടിസ്ഥാന ടെംപ്ലേറ്റിലെ ContentPlaceHolder ഘടകങ്ങളുടെ ഉള്ളടക്കങ്ങൾ മാറ്റിസ്ഥാപിക്കുന്നതിന് ഉള്ളടക്ക നിയന്ത്രണങ്ങൾ നിർവചിക്കേണ്ടതുണ്ട്.

വ്യത്യസ്ത ബ്രൗസറുകൾക്കായി വ്യത്യസ്ത ടെംപ്ലേറ്റുകൾ ഉപയോഗിക്കുന്നു

ഏതൊരു വെബ് ഡെവലപ്പർക്കും അത് നന്നായി അറിയാം വ്യത്യസ്ത ബ്രൗസറുകൾ(ഉദാഹരണത്തിന്, Microsoft Internet Explorer, Netscape Navigator, മോസില്ല ഫയർഫോക്സ്മുതലായവ) HTML കോഡ് വ്യത്യസ്തമായി പ്രോസസ്സ് ചെയ്യുക, ഏറ്റവും പ്രധാനമായി, കുറച്ച് വ്യത്യസ്തമായ പ്രോഗ്രാമബിൾ മോഡലുകൾ ഉണ്ട്, ഇത് ക്ലയന്റ് സ്ക്രിപ്റ്റുകളുടെ നിർമ്മാണത്തെ സങ്കീർണ്ണമാക്കുന്നു.

ഈ പ്രശ്നം പരിഹരിക്കുന്നതിന്, ASP.NET 1.x, ക്ലാസിക് ASP എന്നിവയിൽ രണ്ട് പ്രധാന രീതികൾ ഉപയോഗിക്കുന്നു. ആദ്യത്തേത്, ക്ലയന്റ് ബ്രൗസറിലേക്ക് ക്ലയന്റ് കോഡ് അയയ്‌ക്കുന്നു, അത് ബ്രൗസർ തരത്തെയും പതിപ്പിനെയും അടിസ്ഥാനമാക്കി ചില പ്രവർത്തനങ്ങൾ ചെയ്യുന്നു. ഒരു നിർദ്ദിഷ്‌ട ബ്രൗസറിനായി പ്രത്യേകമായി ഒപ്റ്റിമൈസ് ചെയ്‌ത പേജുകളിലേക്ക് ഉപയോക്താവിന്റെ ബ്രൗസർ റീഡയറക്‌ട് ചെയ്യുക എന്നതാണ് രണ്ടാമത്തേത്. ASP.NET ഇത്തരത്തിലുള്ള പേജുകൾ സൃഷ്‌ടിക്കുന്നത് എളുപ്പമാക്കുന്നു, കാരണം ക്ലയന്റ് ബ്രൗസറിനെക്കുറിച്ചുള്ള വിവരങ്ങളെ അടിസ്ഥാനമാക്കി റൺടൈം സ്റ്റാൻഡേർഡ് സെർവർ നിയന്ത്രണങ്ങൾക്കായി HTML കോഡ് സൃഷ്‌ടിക്കുന്നു. ഡിസൈൻ ടെംപ്ലേറ്റുകൾ ഉപയോഗിക്കുമ്പോൾ, ഓരോ ബ്രൗസറിനും നിർദ്ദേശങ്ങൾക്കനുസരിച്ചും നിങ്ങൾക്ക് ഒന്നിലധികം ടെംപ്ലേറ്റുകൾ സൃഷ്‌ടിക്കാനാകും. പേജ് പേജുകൾഏത് ടെംപ്ലേറ്റ് ഉപയോഗിക്കണമെന്ന് വ്യക്തമാക്കുക.

ASP.NET ഉപയോഗിക്കുന്ന ബ്രൗസറുകളുടെയും ബ്രൗസർ പ്രോപ്പർട്ടികളുടെയും ഒരു ലിസ്റ്റ് %WINDIT%\Microsoft.NET\Framework\version\CONFIG\Browsers ഡയറക്ടറിയിൽ കാണാം.