ASP.NET টিউটোরিয়াল :[পর্বঃ ১৩]:: ASP.NET Web Forms দিয়ে XML File তৈরী করে লিস্ট কনট্রোল
লেখকঃ মোস্তাফিজুর ফিরোজ ।
গত পর্বে আমরা ASP.NET Web Forms এর পোল লিস্টে SortedList Object এর ব্যবহার শিখেছিলাম । আজ আমরা শিখবো কিভাবে ASP.NET Web Forms দিয়ে XML File বাইন্ড করে লিস্ট কনট্রোল করা যায় ।
XML File
XML File কি সেটা আর নতুন করে বলার কিছুই নেই । যারা এইচটিএমএল ভালো শিখেছেন তারা আরো ভালো বুঝতে পারবেন । তাহলে আসুন “countries.xml” নামে আমরা একটা XML File তৈরী করি ।
xml version=”1.0″ encoding=”ISO-8859-1″?>
<countries>
<country>
<text>Norway</text>
<value>N</value>
</country>
<country>
<text>Sweden</text>
<value>S</value>
</country>
<country>
<text>France</text>
<value>F</value>
</country>
<country>
<text>Italy</text>
<value>I</value>
</country>
</countries>
এবার এটাকে ঐ নামে সেভ করে ব্রাউজার দিয়ে ওপেন করে দেখুন কেমন দেখায় ।
লিস্ট কনট্রোলে ডাটাসেট বাইন্ড করা
প্রথমে “System.Data” নামে কোনো নেমস্পেস কে ইম্পোর্ট করতে হবে । ডাটাসেট অবজেক্ট এর কাজের জন্য এই নেমস্পেসকে দরকার পড়বে । .aspx পেজের সবার উপরে নিচের কোডটুকু যোগ করে নেই ।
<%@ Import Namespace=”System.Data” %>
তারপর XML file এর জন্য একটা ডাটাসেট তৈরী করে নেই । পেজটি যখন প্রথম লোড নিবে তখন ডাটাসেট থেকে XML file টি লোড নিবে ।
<script runat=”server”>
sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New DataSet
mycountries.ReadXml(MapPath(“countries.xml”))
end if
end sub
RadioButtonList এ ডাটা বাইন্ডিং এর জন্য আগে আপনাকে .aspx পেজে RadioButtonList কন্ট্রোল তৈরী করে নিতে হবে ।
<html>
<body>
<form runat=”server”>
<asp:RadioButtonList id=”rb” runat=”server” AutoPostBack=”True” />
form>
</body>
</html>
তারপর নিচের স্ক্রিপ্ট যোগ করে নিতে হবে ।
<%@ Import Namespace=”System.Data” %>
<script runat=”server”>
sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New DataSet
mycountries.ReadXml(MapPath(“countries.xml”))
rb.DataSource=mycountries
rb.DataValueField=”value”
rb.DataTextField=”text”
rb.DataBind()
end if
end sub
</script>
<html>
<body>
<form runat=”server”>
<asp:RadioButtonList id=”rb” runat=”server”
AutoPostBack=”True” onSelectedIndexChanged=”displayMessage” />
</form>
</body>
</html>
ব্যবহারকারীরা যখন RadioButtonList control এর যেকোনো আইটেমে ক্লিক করে তখন দেখানোর জন্য আমরা কিছু টেক্সট sub routine মেনুতে যোগ করে দিতে পারি নিচের মত করে ।
<%@ Import Namespace=”System.Data” %>
<script runat=”server”>
sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New DataSet
mycountries.ReadXml(MapPath(“countries.xml”))
rb.DataSource=mycountries
rb.DataValueField=”value”
rb.DataTextField=”text”
rb.DataBind()
end if
end sub
sub displayMessage(s as Object,e As EventArgs)
lbl1.text=”Your favorite country is: ” & rb.SelectedItem.Text
end sub
</script>
<html>
<body>
<form runat=”server”>
<asp:RadioButtonList id=”rb” runat=”server”
AutoPostBack=”True” onSelectedIndexChanged=”displayMessage” />
<p><asp:label id=”lbl1″ runat=”server” /></p>
</form>
</body>
</html>
তাহলে দেখলেন তো কত সহজে হয়ে গেলো । সবকিছু একবারে পানির মত তাই নাহ? আসলেই তাই ।