ASP.NET 2.0 - নেভিগেশন (Navigation)

ASP.NET 2.0 তে বুধ্যমান নেভিগেশন কন্ট্রোল আছে

ওয়েবসাইট নেভিগেশন

বড় ওয়েবসাইটের নেভিগেশন মেনু রক্ষণাবেক্ষণ করা কঠিন এবং সময় নির্বহনকারী

ASP.NET 2.0-তে, মেনু ফাইলে সংরক্ষণ করা যায়, যার ফলে তা সহজভাবে রক্ষণাবেক্ষণ করা যায়। এই ফাইলটির নাম সাধারণত web.sitemapযা ওয়েবসাইটের রুট ডিরেক্টরিতে থাকে

এছাড়া, ASP.NET 2.0 তিনটি নতুন নেভিগেশন কন্ট্রোল সহ আছে:

  • Dynamic menus
  • TreeViews
  • Site Map Path

Sitemap ফাইল

এই টিউটোরিয়ালটি নিচের sitemap ফাইলটি ব্যবহার করে (সাইট ম্যাপ):

<?xml version="1.0" encoding="ISO-8859-1" ?>
<siteMap>
  <siteMapNode title="Home" url="/aspnet/w3home.aspx">
  <siteMapNode title="Services" url="/aspnet/w3services.aspx">
    <siteMapNode title="Training" url="/aspnet/w3training.aspx"/>
    <siteMapNode title="Support" url="/aspnet/w3support.aspx"/>
  </siteMapNode>
  </siteMapNode>
</siteMap>

sitemap ফাইল তৈরির নিয়ম:

  • XML ফাইলটি অন্তর্ভুক্ত করা <siteMap> ট্যাগটির চারপাশে থাকতে হবে
  • <siteMap> ট্যাগটি একমাত্র <siteMapNode> সাব-নোড ("home" পেজ) থাকতে হবে
  • প্রত্যেক <siteMapNode> একাধিক সাব-নোড (ওয়েব পেজ) সহ থাকতে পারে
  • প্রত্যেক <siteMapNode> পৃষ্ঠার শিরোনাম ও URL নির্দিষ্ট করার অ্যাট্রিবিউট সহ আছে

মন্তব্য:sitemap ফাইলটি সাইটের রুট ডিরেক্টরিতে থাকতে হবে, URL অ্যাট্রিবিউট এই রুট ডিরেক্টরিতে সমীক্ষিত হতে হবে。

ডাইনামিক মেনু

<asp:Menu> কন্ট্রোল স্ট্যান্ডার্ড সাইট নেভিগেশন মেনু দেখাতে পারে。

কোড ইনস্ট্যান্স:

<asp:SiteMapDataSource id="nav1" runat="server" />
<form runat="server">
<asp:Menu runat="server" DataSourceId="nav1" />
</form>

উপরোক্ত উদাহরণে <asp:Menu> কন্ট্রোলএটি সার্ভার দ্বারা নেভিগেশন মেনু তৈরির জন্য একটি প্রতিস্থাপক

কন্ট্রোলের ডাটা সোর্স প্রকৃতি DataSourceId প্রকৃতিনির্দিষ্ট করুনid="nav1" তাকে <asp:SiteMapDataSource> কন্ট্রোল

<asp:SiteMapDataSource> কন্ট্রোলস্বয়ংক্রিয়ভাবে ডিফল্ট সাইটম্যাপ ফাইলে সংযুক্ত হবে (web.sitemap)

এখানে ক্লিক করে Menu এর DEMO দেখুন

TreeView

<asp:TreeView> কন্ট্রোল একটি বহুস্তরীয় নেভিগেশন মেনু দেখাতে পারে

এই মেনুটি একটি পাত্রদার চিড়ির মতো দেখায়, + এবং - সংকেত দ্বারা খোলা বা বন্ধ করা যেতে পারে

কোড ইনস্ট্যান্স:

<asp:SiteMapDataSource id="nav1" runat="server" />
<form runat="server">
<asp:TreeView runat="server" DataSourceId="nav1" />
</form>

উপরোক্ত উদাহরণে <asp:TreeView> কন্ট্রোলএটি সার্ভার দ্বারা নেভিগেশন মেনু তৈরির জন্য একটি প্রতিস্থাপক

কন্ট্রোলের ডাটা সোর্স প্রকৃতি DataSourceId প্রকৃতিনির্দিষ্ট করুনid="nav1" তাকে <asp:SiteMapDataSource> কন্ট্রোল

<asp:SiteMapDataSource> কন্ট্রোলস্বয়ংক্রিয়ভাবে ডিফল্ট সাইটম্যাপ ফাইলে সংযুক্ত হবে (web.sitemap)

এখানে ক্লিক করে TreeView এর DEMO দেখুন

SiteMapPath

SiteMapPath কন্ট্রোল বর্তমান পৃষ্ঠার লিঙ্ক দেখাতে পারে (নেভিগেশন পথ)। এই পথ উপরোক্ত পৃষ্ঠার ক্লিকযোগ্য লিঙ্ক হিসাবে প্রদর্শিত হয়

TreeView এবং Menu কন্ট্রোল থেকে ভিন্ন, SiteMapPath কন্ট্রোলব্যবহার না করা SiteMapDataSource এর SiteMapPath কন্ট্রোল ডিফল্টভাবে web.sitemap ফাইল ব্যবহার করে

সুঝানা:যদি SiteMapPath সঠিকভাবে প্রদর্শিত না হয়, তবে এটি বাস্তবিকতায় web.sitemap ফাইলে URL ত্রুটির কারণে হতে পারে。

কোড ইনস্ট্যান্স:

<form runat="server">
<asp:SiteMapPath runat="server" />
</form>

উপরোক্ত উদাহরণে <asp:SiteMapPath> কন্ট্রোলএটি সার্ভার দ্বারা নেভিগেশন মেনু তৈরির জন্য একটি প্রতিস্থাপক

এখানে ক্লিক করে SiteMapPath এর DEMO দেখুন