The Page Header in ASP.NET

The Page Header in ASP.NET – जैसाकि हमने पिछले Sections में देखा कि हम किसी भी HTML Element को runat=”server” Attribute Specify करके उसे Server Side Control में Transform कर सकते हैं और किसी एक Page में कई HTML Controls हो सकते हैं। ठीक इसी तरह से हम हमारे <form> Element में एक Single htmlHead Controसभी Add कर सकते हैं, जो कि हमें हमारे Webpage के<head> Element का Server Side Access Provide करता है।

हमारे पिछले Example में दिखाई देने वाले Control Tree में भी htmlHead Control Included नहीं है, क्योंकि हमने इस Page के<head> Element में runat=”server” Attribute को Specify नहीं किया है। लेकिन Visual Studio हमेंशा Default रूप से<head> Element को एक Server-Side Control की तरह Treat करता है।

अन्‍य Controls की तरह ही हम htmlHead Control के Content को भी Programmatically Change कर सकते हैं, जो कि हमारे Webpage के<head> Element के रूप में Render होता है। अन्तर केवल इतना ही है कि<head> Element, Webpage के किसी Actual Content से सम्बंधित नहीं होता, जो कि User के सामने Render हो सके।

बल्कि इसके अन्तर्गत Title Element, Stylesheet व JavaScript Reference तथा Search Engines के लिए उपयोगी Keywords, Descriptions आदि अन्‍य Metadata होते हैं और इन Details को Server Side Code-Behind File द्वारा Access व Manipulate करने के लिए हम htmlHead Class निम्न Members को Use कर सकते हैं:

Title Property

इस Property द्वारा हम हमारे Webpage के उस<title> Element को Access व Manipulate कर सकते हैं, जो कि हमारे Web Browser के Title Bar में दिखाई देता है।

StyleSheet Property

ये Property हमें एक IStyleSheet Object Provide करता है जो कि हमारे Webpage केHeader यानी <head> Element में Specified Inline Styles को Represent करता है। हम इस IStyleSheet Object केCreateStyleRule() व RegisterStyle() Methods को Use करके अपनी Code-Behind File के माध्‍यम से Dynamically नया Style Rules भी Create कर सकते हैं।

Description Property

इस Property द्वारा हम हमारे Webpage के उस Description Meta Tag के Text को Access व Manipulate कर सकते हैं। ये Meta Tag Google जैसे Search Engines हेतु हमारे Webpage का Description Create के लिए Use होता है।

Keywords Property

इस Property द्वारा हम हमारे Webpage के उस Keywords Meta Tag के Text को Access व Manipulate कर सकते हैं। इस Meta Tag में Specified Keywords को अब कोई भी Search Engineकोई महत्व नहीं देते, लेकिन पहले इस Metatag में Specified Keywords द्वारा हम हमारे Webpage को Search Results हेतु Optimize करते थे।

Controls Property

 htmlMeta Control Class व इस Collection Property का प्रयोग करके हम हमारे Webpage में Programmatically Metadata Tags को Add व Remove कर सकते हैं। ये Property तब काफी उपयोगी साबित होता है, जब हम Description व Keywords के अलावा अन्‍य Meta Tags को भी अपने Webpage पर Add करना चाहते हैं।

उदाहरण के लिए यदि हम अपनी Code-Behind File में इन Properties को Use करते हुए अपने Webpage के<head> Element के Content को Modify करें, तो हम हमारी Code-Behind File को निम्नानुसार Modify कर सकते हैं:


File Name: Default.aspx.cs
using System;
using System.Web.UI;
using System.Web.UI. htmlControls;
namespace WebForms
{
 public partial class Default : System.Web.UI.Page
 {
  protected void Page_Load(object sender, System.EventArgs e)
  {
   //Changing <head> Element Dynamically
   Page.Header.Title = "The Title Modified Dynamically.";
   Page.Header.Description = "Modern Search Engine don't gives importance to this element.";
   Page.Header.Keywords = "This Keyword List, Doesn't have importance, for modern, search engines";
   //Adding New <meta> Element Dynamically
   htmlMeta metaTag = new htmlMeta();
   metaTag.Name = "robots";
   metaTag.Content = "noindex";

   //Add this meta
   Page.Header.Controls.Add(metaTag);
  }
 }
}

जब हम इस Webpage को Run करते हैं, तो हमारे Webpage का Dynamically Generate होने वाले Resultant HTML Code निम्नानुसार Title व तीन Meta Elements होते हैं:


<title>The Title Modified Dynamically.</title>
<metaname="robots"content="noindex"/>
<metaname="description"content="Modern Search Engine don&#39;t gives importance to this element."/>
<metaname="Keywords"content="This Keyword List, Doesn&#39;t have importance, for modern, search engines"/>

जबकि हमारे Default.aspx Webpage में हमने <title> या <meta> Element को Specify नहीं किया है, लेकिन हमारे.aspx Webpage में ये सभी Elements इसलिए Exist हैं। क्योंकि हमने हमारी Code-Behind File में उपरोक्‍तानुसार Page.Header Object की Title, Description व Keywords Properties को Specify किया है। जिसकी वजह से हमारे Webpage के<head> Element में उपरोक्तानुसार<title> Element व description तथा Keywordsके लिए दो Meta Elements Add हो गए हैं।

जबकि “robots” नाम का Meta Element Create करने के लिए हमने htmlMeta Class का एक Object metaTag Create किया है और उसकी Name व Content Properties को Set करने के बाद उसे भी Page.Header के Controls Collection में Add कर दिया है।

परिणामस्वरूप Resultant Webpage में हमें “robots” Meta Tag भी प्राप्त हो रहा है, जो Google जैसे Modern Search Engines को ये Instruction देता है कि Current Webpage को उनके Database में Index न किया जाए।

 htmlHead Control उस स्थिति में काफी उपयोगी साबित होते हैं, जब हम पूरी तरह Database Driven Dynamic Website Create कर रहे होते हैं और प्रत्येक Webpage के Data के आधार पर हम Page के Metadata (Description, Keyword, Title) आदि को Database के Recorके के अनुसार Dynamically Change करना चाहते हैं।

Showing the Control Tree - Part 2
Dynamic Control Creation

Core ASP.NET WebForms in Hindi - BccFalna.com: TechTalks in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Core ASP.NET WebForms with C# in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Core ASP.NET WebForms in Hindi | Page:647 | Format: PDF

BUY NOW GET DEMO REVIEWS