পিএইচপি – মাইএসকিউএল এ ডাটা প্রবেশ করানো (PHP Insert Data Into MySQL in Bangla)

শেখ মাহফুজুর রহমান

 

MySQLi এবং PDO ব্যবহার করে মাইএসকিউএল এ ডাটা প্রবেশ করানো

একটি ডাটাবেজ এবং একটি টেবল তৈরি করার পর আমরা তাতে ডাটা যোগ করা শুরু করতে পারি।
এক্ষেত্রে যেসব সিনটেক্সট-নিয়ম অনুরসরন করতে হবেঃ

  • SQL কোয়ারিটি অবশ্যই PHP এর ভিতর কোটেড হতে হবে।
  • SQL কোয়ারির ভেতর স্ট্রিং ভ্যালুটি অবশ্যই কোটেড হতে হবে।
  • সংখ্যা বা নিউমেরিক ভ্যালুগুলো কোটেড হতে পারবেনা।
  • NULL শব্দটি কোটেড হতে পারবেনা।

INSERT INTO স্টেটমেন্টটি MySQL টেবলে নতুন রেকর্ড যোগ করার কাজে ব্যবহার করা হয়ঃ


INSERT INTO table_name (column1, column2, column3,…)
VALUES (value1, value2, value3,…)


 

এসকিউএল সম্পর্কে আরও জানতে আমাদের এসকিউএল টিটোরিয়ালটি পড়ুন।

 

পূর্বের অধ্যায়ে আমরা “MyGuests” নামের পাঁচ কলামের একটি খালি টেবল তৈরি করেছিলাম যার কলামগুলো ছিলঃ “id”, “firstname”, “lastname”, “email” and “reg_date” । এখন ঐ টেবলটিকে ডাটা দিয়ে পূর্ণ করা যাক।

লক্ষ্য রাখতে হবে, যদি একটি কলাম AUTO_INCREMENT (‘id’ কলামের মতো) অথবা TIMESTAMP (“reg_date” কলামের মতো) হয় তাহলে সেটিকে এসকিউএল কোয়ারি নির্দিষ্ট করে দিতে হয়না; MySQL সয়ংক্রিয়ভাবে ভ্যালু যোগ করে নিবে।

নিচের উদাহরণগুলো “MyGuests” টেবলে নতুন রেকর্ড যোগ করেঃ

উদাহরণ (MySQLi অবজেক্ট-অরিয়েন্টেড)


<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

 

উদাহরণ (MySQLi প্রসিডুরাল)


<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";

if (mysqli_query($conn, $sql)) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

mysqli_close($conn);
?>

 

উদাহরণ (PDO)


<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "INSERT INTO MyGuests (firstname, lastname, email)
    VALUES ('John', 'Doe', 'john@example.com')";
    // use exec() because no results are returned
    $conn->exec($sql);
    echo "New record created successfully";
    }
catch(PDOException $e)
    {
    echo $sql . "<br>" . $e->getMessage();
    }

$conn = null;
?>

 

ASP.NET টিউটোরিয়াল :[পর্বঃ ১৫]:: ASP.NET Web Forms দিয়ে ডাটা লিস্ট কনট্রোল

ASP.NET টিউটোরিয়াল :[পর্বঃ ১৫]:: ASP.NET Web Forms দিয়ে ডাটা লিস্ট কনট্রোল
লেখকঃ মোস্তাফিজুর ফিরোজ ।

গত পর্বে আমরা রিপিট লিস্ট কনট্রোল শিখেছিলাম । এই পর্বে আমরা শিখবো ASP.NET Web Forms দিয়ে ডাটা লিস্ট কনট্রোল করা । শুধুই কনট্রোল আর কনট্রোল তাই নাহ? ;)

ডাটা লিস্ট কনট্রোলে ডাটাসেট বাইন্ড করা
ডাটা লিস্ট কনট্রোল হলো রিপিটার কন্ট্রোলের মত, যেটা কন্ট্রোলের জন্য বাউন্ড করা লিস্টে রিপিটেড লিস্টগুলোকে দেখায় । কিন্তু ডাটা লিস্ট কনট্রোল ডাটা আইটেমের চারিদিকে নিজে নিজে একটা টেবিল তৈরি করে থাকে । ডাটা লিস্ট কনট্রোল সাধারণত ডাটাবেজ টেবিল, XML file অথবা অনেকগুলো আইটেম এর সাথে বাউন্ড হয়ে থাকে ।
এখানে উদাহরণ হিসেবে “cdcatalog.xml” ফাইলকে দেখাচ্ছি ।

xml version=”1.0″ encoding=”ISO-8859-1″?>

<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
<cd>
<title>Greatest Hits</title>
<artist>Dolly Parton</artist>
<country>USA</country>
<company>RCA</company>
<price>9.90</price>
<year>1982</year>
</cd>
<cd>
<title>Still got the blues</title>
<artist>Gary Moore</artist>
<country>UK</country>
<company>Virgin records</company>
<price>10.20</price>
<year>1990</year>
</cd>
<cd>
<title>Eros</title>
<artist>Eros Ramazzotti</artist>
<country>EU</country>
<company>BMG</company>
<price>9.90</price>
<year>1997</year>
</cd>
</catalog>

এটাকে এখন cdcatalog.xml এই নামে সেভ করে ওপেন করেই দেখুন না ।

প্রথমে “System.Data” নামে কোনো নেমস্পেস কে ইম্পোর্ট করতে হবে । ডাটাসেট অবজেক্ট এর কাজের জন্য এই নেমস্পেসকে দরকার পড়বে । .aspx পেজের সবার উপরে নিচের কোডটুকু যোগ করে নেই ।

<%@ Import Namespace=”System.Data” %>

তারপর XML file এর জন্য একটা ডাটাসেট তৈরী করে নেই । পেজটি যখন প্রথম লোড নিবে তখন ডাটাসেট থেকে XML file টি লোড নিবে ।

<script runat=”server”>
sub Page_Load
if Not Page.IsPostBack then
dim mycdcatalog=New DataSet
mycdcatalog.ReadXml(MapPath(“cdcatalog.xml”))
end if
end sub

এখন আমরা .aspx page এ আরেকটা রিপিটার কনট্রোল তৈরী করবো । এর ভিতরে <HeaderTemplate> টি প্রথমে এবং একবারই সম্পাদন করবে । অবশ্য <ItemTemplate> এলিমেন্ট টি ডাটাসেটের রেকর্ড এর উপর নির্ভর করে রিপিট হতে পারে । কিন্তু <FooterTemplate> এলিমেন্ট টি কিন্তু একবারই সম্পাদিত হয়ে নিচের মত আউটপুট দিবে ।

<html>
<body>

<form runat=”server”>
<asp:DataList id=”cdcatalog” runat=”server”>

<HeaderTemplate>

</HeaderTemplate>

<ItemTemplate>

</ItemTemplate>

<FooterTemplate>

</FooterTemplate>

DataList>
form>

</body>
</html>

তারপর আমরা ডাটাসেট তৈরির জন্য স্ক্রিপ্ট যোগ করবো । এটাকে তখন রিপিটার কনট্রোলের mycdcatalog ডাটাসেটের সাথে বাইন্ড করবো । তারপর <HeaderTemplate> ব্যবহার করবো হেডার টেবিল দেখানোর জন্য, <ItemTemplate> ব্যবহার করবো ডাটা আইটেম দেখানোর জন্য এবং <FooterTemplate> ব্যবহার করবো টেক্সট দেখানোর জন্য । ডাটা লিস্টে “both” অ্যাট্রিবিউট যোগ করে টেবিল বর্ডার দেখাতে সক্ষম হবো ।

<%@ Import Namespace=”System.Data” %>

<script runat=”server”>
sub Page_Load
if Not Page.IsPostBack then
dim mycdcatalog=New DataSet
mycdcatalog.ReadXml(MapPath(“cdcatalog.xml”))
cdcatalog.DataSource=mycdcatalog
cdcatalog.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat=”server”>
<asp:DataList id=”cdcatalog”
gridlines=”both” runat=”server”>

<HeaderTemplate>
My CD Catalog
</HeaderTemplate>

<ItemTemplate>
“<%#Container.DataItem(“title”)%>” of
<%#Container.DataItem(“artist”)%> –
$<%#Container.DataItem(“price”)%>
</ItemTemplate>

<FooterTemplate>
Copyright Hege Refsnes
</FooterTemplate>

DataList>
form>

</body>
</html>

স্টাইলের ব্যবহারঃ
আপনি আপনার ইচ্ছামত করে স্টাইল যোগ করে নিতে পারবেন ।

<%@ Import Namespace=”System.Data” %>

<script runat=”server”>
sub Page_Load
if Not Page.IsPostBack then
dim mycdcatalog=New DataSet
mycdcatalog.ReadXml(MapPath(“cdcatalog.xml”))
cdcatalog.DataSource=mycdcatalog
cdcatalog.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat=”server”>
<asp:DataList id=”cdcatalog”
gridlines=”both” runat=”server”>

<HeaderTemplate>
My CD Catalog
</HeaderTemplate>

<ItemTemplate>
“<%#Container.DataItem(“title”)%>” of
<%#Container.DataItem(“artist”)%> –
$<%#Container.DataItem(“price”)%>
</ItemTemplate>

<FooterTemplate>
Copyright Hege Refsnes
</FooterTemplate>

</asp:DataList>
</form>

</body>
</html>

<AlternatingItemTemplate> এর ব্যবহার
<ItemTemplate> এলিমেন্টের পরিবর্তে আমরা <AlternatingItemTemplate> এলিমেন্ট ব্যবহার করতে পারি নিচের মত করে ।

<%@ Import Namespace=”System.Data” %>

<script runat=”server”>
sub Page_Load
if Not Page.IsPostBack then
dim mycdcatalog=New DataSet
mycdcatalog.ReadXml(MapPath(“cdcatalog.xml”))
cdcatalog.DataSource=mycdcatalog
cdcatalog.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat=”server”>
<asp:DataList id=”cdcatalog”
runat=”server”
cellpadding=”2″
cellspacing=”2″
borderstyle=”inset”
backcolor=”#e8e8e8″
width=”100%”
headerstyle-font-name=”Verdana”
headerstyle-font-size=”12pt”
headerstyle-horizontalalign=”center”
headerstyle-font-bold=”True”
itemstyle-backcolor=”#778899″
itemstyle-forecolor=”#ffffff”
alternatingitemstyle-backcolor=”#e8e8e8″
alternatingitemstyle-forecolor=”#000000″
footerstyle-font-size=”9pt”
footerstyle-font-italic=”True”>

<HeaderTemplate>
My CD Catalog
</HeaderTemplate>

<ItemTemplate>
“<%#Container.DataItem(“title”)%>” of
<%#Container.DataItem(“artist”)%> –
$<%#Container.DataItem(“price”)%>
</ItemTemplate>

<AlternatingItemTemplate>
“<%#Container.DataItem(“title”)%>” of
<%#Container.DataItem(“artist”)%> –
$<%#Container.DataItem(“price”)%>
</AlternatingItemTemplate>

<FooterTemplate>
© Hege Refsnes
</FooterTemplate>

</asp:DataList>
</form>

</body>
</html>

আসলেই ডিজাইন টা হলো নিজের মনের মত । আপনি যদি কোডিং একটু ভালো বুঝতে পারেন তাহলে আপনার মনের মত করে সবকিছু সাজাতে পারবেন ।

ASP.NET টিউটোরিয়াল :[পর্বঃ ১৪]:: ASP.NET Web Forms দিয়ে রিপিটেড লিস্ট কনট্রোল

ASP.NET টিউটোরিয়াল :[পর্বঃ ১৪]:: ASP.NET Web Forms দিয়ে রিপিটেড লিস্ট কনট্রোল
লেখকঃ মোস্তাফিজুর ফিরোজ ।

এক জিনিস বার বার যদি আসে তাহলে কেমন লাগে? খুবই বিরক্ত তাই না? আসুন আজ আমরা তাই ASP.NET Web Forms দিয়ে রিপিটেড লিস্ট কনট্রোল করা শিখবো । তাহলে আর মেজাজ গরম হবে না ।

রিপিটার কন্ট্রোলে ডাটাসেট বাইন্ড
রিপিটার কনট্রোল হল কন্ট্রোলে বাউণ্ড হওয়া লিস্টের রিপিট লিস্ট দেখানো । রিপিটার কনট্রোল সাধারণত ডাটাবেজ টেবিল, XML file অথবা অনেকগুলো আইটেম এর সাথে বাউন্ড হয়ে থাকে । এখন আমি দেখাবো XML file কে কিভাবে একটি রিপিটার কন্ট্রোলের সাথে বাইন্ড করা যায় ।
এখানে উদাহরণ হিসেবে “cdcatalog.xml” ফাইলকে দেখাচ্ছি ।

xml version=”1.0″ encoding=”ISO-8859-1″?>

<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
<cd>
<title>Greatest Hits</title>
<artist>Dolly Parton</artist>
<country>USA</country>
<company>RCA</company>
<price>9.90</price>
<year>1982</year>
</cd>
<cd>
<title>Still got the blues</title>
<artist>Gary Moore</artist>
<country>UK</country>
<company>Virgin records</company>
<price>10.20</price>
<year>1990</year>
</cd>
<cd>
<title>Eros</title>
<artist>Eros Ramazzotti</artist>
<country>EU</country>
<company>BMG</company>
<price>9.90</price>
<year>1997</year>
</cd>
</catalog>

এটাকে এখন cdcatalog.xml এই নামে সেভ করে ওপেন করেই দেখুন না ।

প্রথমে “System.Data” নামে কোনো নেমস্পেস কে ইম্পোর্ট করতে হবে । ডাটাসেট অবজেক্ট এর কাজের জন্য এই নেমস্পেসকে দরকার পড়বে । .aspx পেজের সবার উপরে নিচের কোডটুকু যোগ করে নেই ।

<%@ Import Namespace=”System.Data” %>

তারপর XML file এর জন্য একটা ডাটাসেট তৈরী করে নেই । পেজটি যখন প্রথম লোড নিবে তখন ডাটাসেট থেকে XML file টি লোড নিবে ।

<script runat=”server”>
sub Page_Load
if Not Page.IsPostBack then
dim mycdcatalog=New DataSet
mycdcatalog.ReadXml(MapPath(“cdcatalog.xml”))
end if
end sub

এখন আমরা .aspx page এ আরেকটা রিপিটার কনট্রোল তৈরী করবো । এর ভিতরে <HeaderTemplate> টি প্রথমে এবং একবারই সম্পাদন করবে । অবশ্য <ItemTemplate> এলিমেন্ট টি ডাটাসেটের রেকর্ড এর উপর নির্ভর করে রিপিট হতে পারে । কিন্তু <FooterTemplate> এলিমেন্ট টি কিন্তু একবারই সম্পাদিত হয়ে নিচের মত আউটপুট দিবে ।

<html>
<body>

<form runat=”server”>
<asp:Repeater id=”cdcatalog” runat=”server”>

<HeaderTemplate>

</HeaderTemplate>

<ItemTemplate>

</ItemTemplate>

<FooterTemplate>

</FooterTemplate>

</asp:Repeater>
form>

</body>
</html>

তারপর আমরা ডাটাসেট তৈরির জন্য স্ক্রিপ্ট যোগ করবো । এটাকে তখন রিপিটার কনট্রোলের mycdcatalog ডাটাসেটের সাথে বাইন্ড করবো । তারপর <%#Container.DataItem(“fieldname”)%> মেথডের মাধ্যমে <ItemTemplate> section এর সাথে রিপিটার কনট্রোল এবং এইচটিএমএল ট্যাগের বাইণ্ড করবো ।

<%@ Import Namespace=”System.Data” %>

<script runat=”server”>
sub Page_Load
if Not Page.IsPostBack then
dim mycdcatalog=New DataSet
mycdcatalog.ReadXml(MapPath(“cdcatalog.xml”))
cdcatalog.DataSource=mycdcatalog
cdcatalog.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat=”server”>
<asp:Repeater id=”cdcatalog” runat=”server”>

<HeaderTemplate>
<table border=”1″ width=”100%”>
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td><%#Container.DataItem(“title”)%></td>
<td><%#Container.DataItem(“artist”)%></td>
<td><%#Container.DataItem(“country”)%></td>
<td><%#Container.DataItem(“company”)%></td>
<td><%#Container.DataItem(“price”)%></td>
<td><%#Container.DataItem(“year”)%></td>
</tr>
</ItemTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>
form>

</body>
</html>

<AlternatingItemTemplate> এর ব্যবহার
<ItemTemplate> এলিমেন্টের পরিবর্তে আমরা <AlternatingItemTemplate> এলিমেন্ট ব্যবহার করতে পারি নিচের মত করে ।

<%@ Import Namespace=”System.Data” %>

<script runat=”server”>
sub Page_Load
if Not Page.IsPostBack then
dim mycdcatalog=New DataSet
mycdcatalog.ReadXml(MapPath(“cdcatalog.xml”))
cdcatalog.DataSource=mycdcatalog
cdcatalog.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat=”server”>
<asp:Repeater id=”cdcatalog” runat=”server”>

<HeaderTemplate>
<table border=”1″ width=”100%”>
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td><%#Container.DataItem(“title”)%></td>
<td><%#Container.DataItem(“artist”)%></td>
<td><%#Container.DataItem(“country”)%></td>
<td><%#Container.DataItem(“company”)%></td>
<td><%#Container.DataItem(“price”)%></td>
<td><%#Container.DataItem(“year”)%></td>
</tr>
</ItemTemplate>

<AlternatingItemTemplate>
<tr bgcolor=”#e8e8e8″>
<td><%#Container.DataItem(“title”)%></td>
<td><%#Container.DataItem(“artist”)%></td>
<td><%#Container.DataItem(“country”)%></td>
<td><%#Container.DataItem(“company”)%></td>
<td><%#Container.DataItem(“price”)%></td>
<td><%#Container.DataItem(“year”)%></td>
</tr>
</AlternatingItemTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>
</form>

</body>
</html>

<SeparatorTemplate> এর ব্যবহার
আবার <ItemTemplate> এলিমেন্টের পরিবর্তে আমরা <SeparatorTemplate> এলিমেন্ট ব্যবহার করতে পারি নিচের মত করে ।

<%@ Import Namespace=”System.Data” %>

<script runat=”server”>
sub Page_Load
if Not Page.IsPostBack then
dim mycdcatalog=New DataSet
mycdcatalog.ReadXml(MapPath(“cdcatalog.xml”))
cdcatalog.DataSource=mycdcatalog
cdcatalog.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat=”server”>
<asp:Repeater id=”cdcatalog” runat=”server”>

<HeaderTemplate>
<table border=”0″ width=”100%”>
<tr>
<th>Title</th>
<th>Artist</th>
<th>Country</th>
<th>Company</th>
<th>Price</th>
<th>Year</th>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td><%#Container.DataItem(“title”)%></td>
<td><%#Container.DataItem(“artist”)%></td>
<td><%#Container.DataItem(“country”)%></td>
<td><%#Container.DataItem(“company”)%></td>
<td><%#Container.DataItem(“price”)%></td>
<td><%#Container.DataItem(“year”)%></td>
</tr>
</ItemTemplate>

<SeparatorTemplate>
<tr>
<td colspan=”6″><hr /></td>
</tr>
</SeparatorTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>
</form>

</body>
</html>

দেখলেন তো নিজের ইচ্ছামত কত রকমের ট্যাগ ব্যবহার করা যাচ্ছে । আপনি একটু ভালভাবে প্র্যাকটিস করলে নিজের মত করে পরিবর্তন করে ব্যবহার করতে পারবেন । তাহলে এবার একটু মেজাজ ঠান্ডা হয়েছে তো ?

ASP.NET টিউটোরিয়াল :[পর্বঃ ১৩]:: ASP.NET Web Forms দিয়ে XML File তৈরী করে লিস্ট কনট্রোল

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>

তাহলে দেখলেন তো কত সহজে হয়ে গেলো । সবকিছু একবারে পানির মত তাই নাহ? আসলেই তাই ।

ASP.NET টিউটোরিয়াল :[পর্বঃ ১২]:: ASP.NET Web Forms এর পোল লিস্টে SortedList Object এর ব্যবহার

ASP.NET টিউটোরিয়াল :[পর্বঃ ১২]:: ASP.NET Web Forms এর পোল লিস্টে SortedList Object এর ব্যবহার
লেখকঃ মোস্তাফিজুর ফিরোজ ।

আগের দুটি পোস্ট যদি আমরা ভালভাবে বুঝতে পারি তাহলে আমাদের আজকের পোস্টটি বুঝতে খুব সুবিধা হবে । আজ আমরা ASP.NET Web Forms এর পোল লিস্টে SortedList Object এর ব্যবহার শিখবো ।

SortedList Object কি?
SortedList Object হলো ArrayList object এবং Hashtable object এর সমন্বয় । এটাও key অথবা value এর জোড়া সংগ্রহ করে রাখে । Add() method এর মাধ্যমে আমরা SortedList Object এ আইটেম যোগ করতে পারি । TrimToSize() method এর মাধ্যমে SortedList তার ফাইনাল সাইজে পরিণত হয় । তাহলে কোডটা কেমন হয় একটু দেখে নেইঃ

<script runat=”server”>
sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New SortedList
mycountries.Add(“N”,”Norway”)
mycountries.Add(“S”,”Sweden”)
mycountries.Add(“F”,”France”)
mycountries.Add(“I”,”Italy”)
end if
end sub
</script>

ডাটা বাইন্ডিং
SortedList object নিম্নলিখিত টেক্সট এবং ভেলু জেনারেট করতে পারে ।
asp:RadioButtonList
asp:CheckBoxList
asp:DropDownList
asp:Listbox

RadioButtonList এ ডাটা বাইন্ডিং এর জন্য আগে আপনাকে .aspx পেজে RadioButtonList কন্ট্রোল তৈরী করে নিতে হবে ।

<html>
<body>

<form runat=”server”>
<asp:RadioButtonList id=”rb” runat=”server” AutoPostBack=”True” />
form>

</body>
</html>

তারপর নিচের স্ক্রিপ্ট যোগ করে নিতে হবে ।

<script runat=”server”>
sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New SortedList
mycountries.Add(“N”,”Norway”)
mycountries.Add(“S”,”Sweden”)
mycountries.Add(“F”,”France”)
mycountries.Add(“I”,”Italy”)
rb.DataSource=mycountries
rb.DataValueField=”Key”
rb.DataTextField=”Value”
rb.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat=”server”>
<asp:RadioButtonList id=”rb” runat=”server” AutoPostBack=”True” />
</form>

</body>
</html>

ব্যবহারকারীরা যখন RadioButtonList control এর যেকোনো আইটেমে ক্লিক করে তখন দেখানোর জন্য আমরা কিছু টেক্সট sub routine মেনুতে যোগ করে দিতে পারি নিচের মত করে ।

<script runat=”server”>
sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New SortedList
mycountries.Add(“N”,”Norway”)
mycountries.Add(“S”,”Sweden”)
mycountries.Add(“F”,”France”)
mycountries.Add(“I”,”Italy”)
rb.DataSource=mycountries
rb.DataValueField=”Key”
rb.DataTextField=”Value”
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>

দেখছেন তো কত সোজা । বেশি করে প্র্যাকটিস করুন আরো সোজা মনে হবে ।

ASP.NET টিউটোরিয়াল :[পর্বঃ ১১]:: ASP.NET Web Forms এর পোল লিস্টে Hashtable Object এর ব্যবহার

ASP.NET টিউটোরিয়াল :[পর্বঃ ১১]:: ASP.NET Web Forms এর পোল লিস্টে Hashtable Object এর ব্যবহার
লেখকঃ মোস্তাফিজুর ফিরোজ ।

গত পর্বে আমরা পোল তৈরী করা শিখেছিলাম । আজ আমরা Hashtable Object যোগ করে এই পোলের অপশন গুলোকে বিভিন্ন ভাবে সাজানো শিখবো ।

Hashtable তৈরী
Hashtable Object সাধারণতঃ key অথবা value এর জোড়া সংগ্রহ করে রাখে । keys গুলো সূচী তৈরির কাজে ব্যবহার করা হয় । যাতে তাড়াতাড়ি সার্চ করলে পরে খুব সহজে পাওয়া যায় । Add() method এর মাধ্যমে আমরা Hashtable এ আইটেম যোগ করতে পারি । তাহলে কোডটা কেমন হয় একটু দেখে নেইঃ

<script runat=”server”>
Sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New Hashtable
mycountries.Add(“N”,”Norway”)
mycountries.Add(“S”,”Sweden”)
mycountries.Add(“F”,”France”)
mycountries.Add(“I”,”Italy”)
end if
end sub
</script>

ডাটা বাইন্ডিং
Hashtable object নিম্নলিখিত টেক্সট এবং ভেলু জেনারেট করতে পারে ।
asp:RadioButtonList
asp:CheckBoxList
asp:DropDownList
asp:Listbox

RadioButtonList এ ডাটা বাইন্ডিং এর জন্য আগে আপনাকে .aspx পেজে RadioButtonList কন্ট্রোল তৈরী করে নিতে হবে ।

<html>
<body>

<form runat=”server”>
<asp:RadioButtonList id=”rb” runat=”server” AutoPostBack=”True” />
form>

</body>
</html>

তারপর নিচের স্ক্রিপ্ট যোগ করে নিতে হবে ।

<script runat=”server”>
sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New Hashtable
mycountries.Add(“N”,”Norway”)
mycountries.Add(“S”,”Sweden”)
mycountries.Add(“F”,”France”)
mycountries.Add(“I”,”Italy”)
rb.DataSource=mycountries
rb.DataValueField=”Key”
rb.DataTextField=”Value”
rb.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat=”server”>
<asp:RadioButtonList id=”rb” runat=”server” AutoPostBack=”True” />
</form>

</body>
</html>

ব্যবহারকারীরা যখন RadioButtonList control এর যেকোনো আইটেমে ক্লিক করে তখন দেখানোর জন্য আমরা কিছু টেক্সট sub routine মেনুতে যোগ করে দিতে পারি নিচের মত করে ।

<script runat=”server”>
sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New Hashtable
mycountries.Add(“N”,”Norway”)
mycountries.Add(“S”,”Sweden”)
mycountries.Add(“F”,”France”)
mycountries.Add(“I”,”Italy”)
rb.DataSource=mycountries
rb.DataValueField=”Key”
rb.DataTextField=”Value”
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>

এভাবে আপনি আপনার পছন্দমত বিভিন্ন টেক্সট যোগ করে দেখাতে পারেন ।

ASP.NET টিউটোরিয়াল :[পর্বঃ ১০]:: ASP.NET Web Forms দিয়ে ভোটিং অথবা পোল লিস্ট বানানো

ASP.NET টিউটোরিয়াল :[পর্বঃ ১০]:: ASP.NET Web Forms দিয়ে ভোটিং অথবা পোল লিস্ট বানানো
লেখকঃ মোস্তাফিজুর ফিরোজ ।

আমরা সবাই চাই আমাদের সাইটে একটা পোল লিস্ট থাকুক যার মাধ্যমে আমরা আমাদের সাইটের ইউজারদের রিভিউ নিতে পারবো । তাই আসুন আজ ASP.NET Web Forms দিয়ে ভোটিং অথবা পোল লিস্ট বানানো শিখে নেই ।

ভোটিং লিস্ট তৈরী
ভোটিং লিস্ট বানানো কে ArrayList ও বলা হয়ে থাকে । ArrayList হলো অনেকগুলো একক ডাটার মানের আলাদা আলাদা কালেককশন । আসুন আমরা চারটি দেশের নাম দিয়ে ArrayList তৈরী করলে তার কোডগুলো কেমন হবে ।

<script runat=”server”>
Sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New ArrayList
mycountries.Add(“Norway”)
mycountries.Add(“Sweden”)
mycountries.Add(“France”)
mycountries.Add(“Italy”)
end if
end sub
</script>

যদি এটাতে ১৬টি দেশের নাম থাকতো কিন্তু আমরা প্রথম চারটিকে দেখাতে চাইতাম তাহলে এর সাথে TrimToSize() কোড যোগ করতে হত । তাহলে কোডটি কেমন হত দেখা যাকঃ

<script runat=”server”>
Sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New ArrayList
mycountries.Add(“Norway”)
mycountries.Add(“Sweden”)
mycountries.Add(“France”)
mycountries.Add(“Italy”)
mycountries.TrimToSize()
end if
end sub
</script>

আপনি Sort() মেথড ব্যবহার করে alphabetically অথবা numerically সাজাতে পারেন ।

<script runat=”server”>
Sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New ArrayList
mycountries.Add(“Norway”)
mycountries.Add(“Sweden”)
mycountries.Add(“France”)
mycountries.Add(“Italy”)
mycountries.TrimToSize()
mycountries.Sort()
end if
end sub
</script>

আপনি যদি লিস্টটা উলটো করে সাজাতে চান তাহলে Sort() ট্যাগের পর Reverse() মেথড ব্যবহার করতে পারেন ।

<script runat=”server”>
Sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New ArrayList
mycountries.Add(“Norway”)
mycountries.Add(“Sweden”)
mycountries.Add(“France”)
mycountries.Add(“Italy”)
mycountries.TrimToSize()
mycountries.Sort()
mycountries.Reverse()
end if
end sub
</script>

ArrayList এ ডাটা বাইন্ডিং
ArrayList স্বয়ংক্রিয়ভাবে নিম্নলিখিত ধরণের টেক্সট এবং মান বের করতে পারে ।

asp:RadioButtonList
asp:CheckBoxList
asp:DropDownList
asp:Listbox

RadioButtonList এ ডাটা বাইন্ডিং এর জন্য আগে আপনাকে .aspx পেজে RadioButtonList কন্ট্রোল তৈরী করে নিতে হবে ।

<html>
<body>

<form runat=”server”>
<asp:RadioButtonList id=”rb” runat=”server” />
form>

</body>
</html>

তারপর নিচের স্ক্রিপ্ট যোগ করে নিতে হবে ।

<script runat=”server”>
Sub Page_Load
if Not Page.IsPostBack then
dim mycountries=New ArrayList
mycountries.Add(“Norway”)
mycountries.Add(“Sweden”)
mycountries.Add(“France”)
mycountries.Add(“Italy”)
mycountries.TrimToSize()
mycountries.Sort()
rb.DataSource=mycountries
rb.DataBind()
end if
end sub
</script>

<html>
<body>

<form runat=”server”>
<asp:RadioButtonList id=”rb” runat=”server” />
</form>

</body>
</html>

এভাবে আমরা বিভিন্ন কোড যোগ করে আমাদের পোলকে বিভিন্ন ভাবে সাজাতে পারি । এভাবে আপনি নিজেই প্র্যাকটিস করে আপনার মত করে সাজিয়ে নিন ।

ASP.NET টিউটোরিয়াল :[পর্বঃ ৯]:: ASP.NET Web Forms দিয়ে ডাটা বাইন্ডিং করা

ASP.NET টিউটোরিয়াল :[পর্বঃ ৯]:: ASP.NET Web Forms দিয়ে ডাটা বাইন্ডিং করা

লেখকঃ মোস্তাফিজুর ফিরোজ ।

গত দুই পর্বে আমরা কি শিখেছিলাম মনে আছে ? মনে না থাকলে একবার দেখে আসুন । থাক এত কষ্ট করতে হবে না, আমি মনে করাই দিচ্ছি । কিন্তু এই পর্বে আপনাকে খুব মনোযোগ দিতে হবে কিন্তু । আজকের পর্বটা খুব গুরুত্বপূর্ণ কিন্তু । তার আগে মনে করায় দেয় আগের দুই পর্বে আমরা TextBox এবং পুশ বাটন বানানো শিখেছিলাম । আজ আমরা ASP.NET Web Forms দিয়ে ডাটা বাইন্ডিং শিখবো ।

ডাটা বাইন্ডিং কি ?
আসলেই তাইতো ডাটা বাইন্ডিং কি জিনিস আবার ? খায় নাকি মাথায় দিতে হয়? :P আমরা ওয়েব ডিজাইন বিষয়ের ভিতরে আছি তাহলে খাওয়া বা মাথায় দেওয়ার বিষয় আসছে কেনো তাই নাহ? তাহলে জেনে নেই আগে ডাটা বাইন্ডিং টা কি । আমরা ডাটা বাইন্ডিং কে সাধারণতঃ লিস্ট পূরণ করার কাজে ব্যবহার করে থাকি । এই ডাটা গুলো কোনো ডাটাবেজ, XML file অথবা কোনো স্ক্রিপ্ট থেকে সংগ্রহ করা হয়ে থাকে ।

ডাটা বাইন্ডিং কি কি সাপোর্ট করে?
এবার আসুন জেনে নেই ডাটা বাইন্ডিং কি কি সাপোর্ট করে থাকে । ডাটা বাইন্ডিং নিম্নের কনট্রোল লিস্টগুলোকে নিয়ন্ত্রণ করতে ব্যবহার করা হয়ে থাকে ।

asp:RadioButtonList
asp:CheckBoxList
asp:DropDownList
asp:Listbox

এই সকল আইটেমগুলোকে আরেকটি asp:ListItem controls নামে নিম্নলিখিতভাবে নিয়ন্ত্রণ করা হয়ে থাকে ।

<html>
<body>

<form runat=”server”>
<asp:RadioButtonList id=”countrylist” runat=”server”>
<asp:ListItem value=”N” text=”Norway” />
<asp:ListItem value=”S” text=”Sweden” />
<asp:ListItem value=”F” text=”France” />
<asp:ListItem value=”I” text=”Italy” />
</asp:RadioButtonList>
</form>

</body>
</html>

ডাটা বাইন্ডিং এর জন্য আমরা কোনো ডাটাবেজ, XML file অথবা কোনো স্ক্রিপ্ট থেকে আলাদা আলাদা ভাবে সংগ্রহ করে থাকি । ইমপোর্টেড সোর্স থেকে ডাটা সংগ্রহ করা হলে আমরা এইচটিএমএল থেকে ডাটাগুলোকে কোনো পরিবর্তন ছাড়া আলাদা করে সংগ্রহ করতে পারি ।

ASP.NET টিউটোরিয়াল :[পর্বঃ ৮]:: ASP.NET Web Forms দিয়ে পুশ বাটন বানানো

ASP.NET টিউটোরিয়াল :[পর্বঃ ৮]:: ASP.NET Web Forms দিয়ে পুশ বাটন বানানো
লেখকঃ মোস্তাফিজুর ফিরোজ ।

আগের পর্বে আমরা শিখছিলাম ASP.NET Web Forms দিয়ে TextBox বানানো । আর এই পর্বে আমরা দেখবো ASP.NET Web Forms দিয়ে কিভাবে পুশ বাটন বানানো যায় ।

বাটন কনট্রোল
বাটন কনট্রোল হলো একটি পুশ বাটন দেখানো । পুশ বাটন হলো একটি সাবমিট বাটন অথবা একটি কমান্ড বাটন তৈরী করা । ডিফল্টভাবে একে সাবমিট বাটন বলে ।
সাবমিট বাটনের কোনো কমান্ড নাম থাকে না এবং এটা ক্লিক করা হলে সার্ভারের পরের পেজে নিয়ে যেতে সাহায্য করে । যখন বাটনটা ক্লিক করা হয় তখন ইভেন্ট হ্যান্ডেলার তার কাজের পারফরমেন্স দেখাতে সক্ষম হয় ।

কিন্তু কমান্ড বাটনের একটা কমান্ড নাম থাকে এবং এটা একটা পেজে অনেকগুলো বাটন তৈরিতে সাহায্য করে থাকে ।

আসুন একটা উদাহরণের সাহায্যে বুঝে নেই ।

<html>
<body>

<form runat=”server”>
<asp:Button id=”b1″ Text=”Submit” runat=”server” />
form>

</body>
</html>

পুশ বাটনে স্ক্রিপ্ট যোগ করা
সাধারণত বাটনে ক্লিক করে ফর্ম সাবমিট করা হয় । আসুন তাহলে এবার একটা বাটনে একটি TextBox কন্ট্রোল, একটি বাটন কন্ট্রোল এবং একটি লেবেল কন্ট্রোল যোগ করা হলে স্ক্রিপ্টটি কেমন দেখায় ।

<script runat=”server”>
Sub submit(sender As Object, e As EventArgs)
lbl1.Text=”Your name is ” & txt1.Text
End Sub
</script>

<html>
<body>

<form runat=”server”>
Enter your name:
<asp:TextBox id=”txt1″ runat=”server” />
<asp:Button OnClick=”submit” Text=”Submit” runat=”server” />
<p><asp:Label id=”lbl1″ runat=”server” /></p>
</form>

</body>
</html>

উপরের কোড দুটো ভালভাবে খেয়াল করলে আমরা আসল পার্থক্য বুঝতে পারবো । এটার সাথে আগের TextBox বানানোর সময় আমরা যেমন স্ক্রিপ্ট যোগ করছিলাম তার সাথে অনেক মিল আছে । তাই একটু চেষ্টা করলেই সব ভালভাবে শিখে ফেলতে পারবেন ।

ASP.NET টিউটোরিয়াল :[পর্বঃ ৭]:: ASP.NET Web Forms দিয়ে TextBox বানানো

ASP.NET টিউটোরিয়াল :[পর্বঃ ৭]:: ASP.NET Web Forms দিয়ে TextBox বানানো
লেখকঃ মোস্তাফিজুর ফিরোজ ।

আমরা চাই আমাদের সাইটে একটা TextBox থাকুক যেখানে আমাদের ইউজাররা তাদের প্রশ্ন অথবা কোনো সমস্যা আমাদেরকে টেক্স আকারে মেসেজ করতে পারে । তাই আজকে আমরা শিখবো ASP.NET Web Forms দিয়ে TextBox কনট্রোল করে কিভাবে TextBox বানানো যায় ।

TextBox কনট্রোল কি?
TextBox কনট্রোল হলো একটি TextBox তৈরী করা যার সাহায্যে ইউজাররা টেক্সট পাঠাতে পারে । TextBox কনট্রোল এর জন্য আপনাকে কিছু এট্রিবিউট এবং প্রোপার্টিজ ব্যবহার করতে হবে । আসুন একটা কোডের উদাহরণ দেই তাহলেই বুঝতে পারবেন ।

<html>
<body>

<form runat=”server”>

A basic TextBox:
<asp:TextBox id=”tb1″ runat=”server” />
<br /><br />

A password TextBox:
<asp:TextBox id=”tb2″ TextMode=”password” runat=”server” />
<br /><br />

A TextBox with text:
<asp:TextBox id=”tb4″ Text=”Hello World!” runat=”server” />
<br /><br />

A multiline TextBox:
<asp:TextBox id=”tb3″ TextMode=”multiline” runat=”server” />
<br /><br />

A TextBox with height:
<asp:TextBox id=”tb6″ rows=”5″ TextMode=”multiline”
runat=”server” />
<br /><br />

A TextBox with width:
<asp:TextBox id=”tb5″ columns=”30″ runat=”server” />

form>

</body>
</html>

এই কোডটা একটু ভালভাবে পর্যবেক্ষণ করলেই বুঝতে পারবেন ।

স্ক্রিপ্ট যোগ করা
আমরা চাইলে এই TextBox এর ভিতরে অনেকগুলো স্ক্রিপ্ট যোগ করতে পারি । আসুন তাহলে আর ভিতর একটি TextBox কন্ট্রোল, একটি বাটন কন্ট্রোল এবং একটি লেবেল কন্ট্রোল যোগ করতে চাইলে স্ক্রিপ্টটা কেমন হবে ।

<script runat=”server”>
Sub submit(sender As Object, e As EventArgs)
lbl1.Text=”Your name is ” & txt1.Text
End Sub
</script>

<html>
<body>

<form runat=”server”>
Enter your name:
<asp:TextBox id=”txt1″ runat=”server” />
<asp:Button OnClick=”submit” Text=”Submit” runat=”server” />
<p><asp:Label id=”lbl1″ runat=”server” /></p>
</form>

</body>
</html>

এই স্ক্রিপ্টের ভিতর একটি TextBox কন্ট্রোল, একটি বাটন কন্ট্রোল এবং একটি লেবেল কন্ট্রোল যোগ করা আছে । আপনি কোডগুলো ভালভাবে দেখলে বুঝতে পারবেন ।

এবার আসুন তাইলে শুধু একটি TextBox কন্ট্রোল এবং একটি লেবেল কন্ট্রোল যোগ করলে স্ক্রিপ্টটা কেমন হবে ।

<script runat=”server”>
Sub change(sender As Object, e As EventArgs)
lbl1.Text=”You changed text to ” & txt1.Text
End Sub
</script>

<html>
<body>

<form runat=”server”>
Enter your name:
<asp:TextBox id=”txt1″ runat=”server”
text=”Hello World!”
ontextchanged=”change” autopostback=”true”/>
<p><asp:Label id=”lbl1″ runat=”server” /></p>
</form>

</body>
</html>

আপনি যখন এই .aspx ফাইলের TextBox মান পরিবর্তন করবেন অথবা TextBox এর বাইরে ক্লিক করবেন অথবা Tab key চাপবেন তখন এই সাবরুটিনের মানগুলো সম্পাদন করে দেখাবে ।

উপরের উদাহরণ দুটো একটু ভালভাবে খেয়াল করলে আমাদের কোডগুলো বুঝতে হবে । তাই একটু সময় বেশি নিয়ে ভালভাবে চর্চা করতে থাকুন ।