ASP.NET টিউটোরিয়াল :[পর্বঃ ৬]:: ASP.NET Web Forms দিয়ে একসাথে ফর্মের অনেক কোডের নিয়ন্ত্রণ

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

গত পর্বে আমরা শিখেছিলাম ASP.NET Web Forms দিয়ে এইচটিএমএল ফর্ম ট্যাগের ব্যবহার । আজ আমরা শিখবো একসাথে ফর্মের অনেক কোডের নিয়ন্ত্রণ । এজন্য আগে আপনাকে ViewState এর নিয়ন্ত্রণ সম্পর্কে জানতে হবে ।

ViewState এর নিয়ন্ত্রণ
যখন একটি ফর্ম classic ASP আকারে নিবেদন করা হয় তখন ফর্মের সকল মান চলে যায় । ধরুন আপনি একটি ফর্মের সাথে অনেক তথ্য যোগ করে পাঠালেন আর এরর রিপোর্ট আসলো । তাহলে বুঝতেই পারছেন আপনার কেমন মেজাজ গরম হবে । আপনার মেজাজ গরম না হলেও আমার কিন্তু খুব মেজাজ গরম হবে । তাই আবার ব্যাক করে এসে দেখলেন আবার সব ফর্ম পূরণ করা লাগছে । তাহলে বুঝতে হবে এই সাইট আপনার ViewState পুরাপুরি নিয়ন্ত্রণ করতে পারেনি ।

আবার অনেক সাইটে দেখবেন এমন এরর রিপোর্ট দেখালেও ব্যাক করলে ফর্মে আপনার পূরণ করা সকল তথ্য দেখতে পারবেন । এটা কে করলো? তাইতো । খুব খুশি তাই নাহ? এটা ঐ পেজের ASP .NET ধারণ করে রেখেছে । তার মানে ঐ পেজের ViewState পুরাপুরি নিয়ন্ত্রণ করতে সক্ষম হয়েছে । ঐ পেজে একটা <form runat=”server”> ট্যাগ হিডেন করা আছে যা আপনার সকল তথ্য সংরক্ষণ করে রেখেছে । তাহলে আসুন দেখি ঐ পেজের সোর্স কোড কেমন হয়ঃ

<form name=”_ctl0″ method=”post” action=”page.aspx” id=”_ctl0″>
<input type=”hidden” name=”__VIEWSTATE”
value=”dDwtNTI0ODU5MDE1Ozs+ZBCF2ryjMpeVgUrY2eTj79HNl4Q=” />

…..some code

form>

ViewState এর নিয়ন্ত্রণ হলো ASP.NET Web Forms এর ডিফল্ট সেটিংস । আপনি যদি এটাকে নিয়ন্ত্রণ না করতে চান তাহলে .aspx পেজের উপরে একটি <%@ Page EnableViewState=”false” %> অথবা EnableViewState=”false” এই ট্যাগ যোগ করতে পারেন ।

তাহলে দেখেন পুরাতন পদ্ধতিতে কোডগুলো কেমন দেখায়ঃ

<html>
<body>

<form action=”demo_classicasp.aspx” method=”post”>
Your name: <input type=”text” name=”fname” size=”20″>
<input type=”submit” value=”Submit”>
</form>
<%
dim fname
fname=Request.Form(“fname”)
If fname<>”” Then
Response.Write(“Hello ” & fname & “!”)
End If
%>

</body>
</html>

এটা হল পুরাতন পদ্ধতি যাতে আপনি যখন সাবমিট করবেন তখন এর ভিতরকার কোডগুলো অন্তর্নিহিত থাকবে ।

তাহলে এইবার নতুন পদ্ধতিটা দেখে নেই যে কেমন হবে কোডটাঃ

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

<html>
<body>

<form runat=”server”>
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>

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

ASP.NET টিউটোরিয়াল :[পর্বঃ ৫]:: ASP.NET Web Forms দিয়ে এইচটিএমএল ফর্ম ট্যাগের ব্যবহার

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

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

ASP.NET Web Forms দিয়ে এইচটিএমএল ফর্ম ট্যাগ
সকল সার্ভারের কন্ট্রোলের জন্য একটি <form> ট্যাগ ব্যবহার করা হয় । আর এই

ট্যাগের ভিতর একটা runat=”server” উপাদান থাকে । এই runat=”server” নির্দেশ করে এই ফর্মটা অবশ্যই সার্ভারে প্রসেসড হবে । এটা আরো নির্দেশ করে যে সার্ভারে থাকা সকল স্ক্রিপ্ট এই সার্ভারেই নিয়ন্ত্রিত হবে ।

<form runat=”server”>

…HTML + server controls

</form>

এই ফর্মের সবকিছুই পেজ নিজে নিয়ন্ত্রিত করবে । আপনি চেঞ্জ করে দিলেও এটা ওর নিজের মতই কাজ করবে। আপনি যদি নাম এবং আইডি এট্রিবিউট উল্লেখ করে না দেন তাহলে ASP.NET নির্ধারণ করে নিবে ।

একটি .aspx পেজে মাত্র একটি

কন্ট্রোল ট্যাগ থাকবে ।

আপনি যদি .aspx পেজের সোর্স কোডে দেখেন ফর্মের কোনো নাম, কাজ অথবা আইডি এট্রিবিউট উল্লেখ করা না থাকে তাহলে এটাতে ASP.NET নিজে অ্যাড করে নিবে যা দেখতে নিচের কোডের মত হবে ।

<form name=”_ctl0″ method=”post” action=”page.aspx” id=”_ctl0″>

…some code

</form>

একটি ফর্ম সাবমিট
একটি বাটনে ক্লিকের মাধ্যমে আপনি সাধারণত ফর্ম সাবমিট করতে পারবেন । বাটন সার্ভার কোডটি নিচের মত হয়ঃ

<asp:Button id=”id” text=”label” OnClick=”sub” runat=”server” />

এখানে id এট্রিবিউট এই বাটনের জন্য একটা ইউনিক নাম এবং text এট্রিবিউট একটি নির্দিষ্ট লেবেলকে নির্দেশ করে । আর OnClick ইভেন্ট একটি subroutine কে সম্পাদিত হওয়ার জন্য নির্দেশ করবে ।

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

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

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

কেমন আছেন সবাই? টিউটোরিয়াল প্র্যাকটিস সবার কেমন চলছে ? আশাকরি অনেক ভালো । আর না বুঝতে পারলে কমেন্ট করতে কিন্তু ভুলবেন না । তাহলে কিন্তু না বুঝতে পারলে আপনারই ক্ষতি বেশি হবে । আজ আমি দেখাবো ASP.NET Web Forms দিয়ে কিভাবে ইভেন্ট হ্যান্ডেল করা যায় ।

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

আসুন একটা কোড এর ঊদাহরণ থেকে দেখিঃ

<%
lbl1.Text=”The date and time is ” & now()
%>

<html>
<body>
<form runat=”server”>
<h3><asp:label id=”lbl1″ runat=”server” /></h3>
form>
</body>
</html>

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

পেজ লোড ইভেন্ট
পেজ লোড (Page_Load) ইভেন্ট হলো অনেকগুলো ইভেন্টের সমষ্টি যেটা ASP.NET কে বুঝতে সাহায্য করে থাকে । যখন একটি পেজ লোড হয় তখন পেজ লোড (Page_Load) ইভেন্ট কাজ শুরু করে দেয় । ASP.NET অটোমেটিক্যালি তার সাবরুটিন পেজ লোড (subroutine Page_Load) কে সংকেত প্রেরণ করে এবং তার কোডগুলো এর সাথে সম্পাদিত হয় ।
আসুন একটা উদাহরণ দেখি তাহলেই বুঝতে পারবেন ।

<script runat=”server”>
Sub Page_Load
lbl1.Text=”The date and time is ” & now()
End Sub
</script>

<html>
<body>
<form runat=”server”>
<h3><asp:label id=”lbl1″ runat=”server” /></h3>
</form>
</body>
</html>

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

Page.IsPostBack Property
যখনই পেজ লোড করা হয় তখনই পেজ লোড সাবরুটিন প্রতিবার রান করে । যদি আপনি এই Page_Load subroutine কে মাত্র প্রথমবারের জন্য রান করাতে চান তাহলে আপনাকে এই কোডের ভিতর Page.IsPostBack property ব্যবহার করতে হবে । যদি এই Page.IsPostBack property ভুল হয় তাহলে পেজটি শুধু প্রথমবার লোড নিবে । আর যদি ঠিক হয় তাহলে পেজটি সার্ভারে পোস্টেড ব্যাক করবে ।
একটা উদাহরণ থেকেই না হয় বুঝি ঃ

<script runat=”server”>
Sub Page_Load
if Not Page.IsPostBack then
lbl1.Text=”The date and time is ” & now()
end if
End Sub

Sub submit(s As Object, e As EventArgs)
lbl2.Text=”Hello World!”
End Sub
</script>

<html>
<body>
<form runat=”server”>
<h3><asp:label id=”lbl1″ runat=”server” /></h3>
<h3><asp:label id=”lbl2″ runat=”server” /></h3>
<asp:button text=”Submit” onclick=”submit” runat=”server” />
</form>
</body>
</html>

এই উদাহরণে যখন পেজটি লোড নিবে তখন “The date and time is….” ম্যাসেজটি প্রথমবার লোড নিবে । যখন একজন ইউজার সাবমিট বাটনে ক্লিক করবে তখন “Hello World!” ম্যসেজটিকে সাবরুটিন লোড হয়ে দ্বিতীয় লেবেলে দেখাবে । কিন্তু প্রথম লেবেলের তারিখ এবং সময়ের পরিবর্তন করবে না । তাহলে এর আসল কাজ টা বুঝতে পারলেন । দেখা হবে পরের পোস্টে ।

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

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

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

সার্ভার কনট্রোল হলো ট্যাগ যেটা সার্ভারকে বুঝাতে সাহায্য করে ।

Classic ASP এর লিমিটেশনঃ

<html>
<body bgcolor=”yellow”>
<center>
<h2>Hello Firoz.me!</h2>
<p><%Response.Write(now())%></p>
</center>
</body>
</html>

এই কোড কিন্তু আগের পর্বেই দেখিয়েছি । এই কোডই Classic ASP এর লিমিটেশন তুলে ধরবে । যেখানে আউটপুট দেখানোর দরকার হয় সেখানে code block প্রতিস্থাপন করা হয় । এই Classic ASP তে executable code কে এইচটিএমএল থেকে আলাদা করা যায় না । এটাই পেজকে পড়া এবং নিয়ন্ত্রণ করাকে আরো বেশি কঠিন করে ফেলে ।

ASP.NET দিয়ে সার্ভার কনট্রোল
ASP.NET সার্ভারের “spaghetti-code” সমস্যার সমাধান করে । আগেই বলেছি, সার্ভার কনট্রোল হলো ট্যাগ যেটা সার্ভারকে বুঝাতে সাহায্য করে । তিন প্রকারের সার্ভার কন্ট্রোল আছে ।
১। HTML Server Controls – Traditional HTML tags
২। Web Server Controls – New ASP.NET tags
৩। Validation Server Controls – For input validation

ASP.NET দিয়ে এইচটিএমএল সার্ভার কনট্রোল
এইচটিএমএল সার্ভার কনট্রোল হলো এইচটিএমএল ট্যাগ যেটা সার্ভারকে বুঝাতে সাহায্য করে ।
ASP.NET এ এইচটিএমএল এলিমেন্টস ফাইলগুলো টেক্সট হিসেবে আচরণ করে । এই এলিমেন্টসকে প্রোগ্রাম হিসেবে কাজ করানোর জন্য =”server” ট্যাগ এইচটিএমএল এলিমেন্টস এ জোগ করা হয় । এই ট্যাগ সার্ভার কন্ট্রোল করার জন্য যোগ করা হয় । এই ট্যাগটা run time এ সুনিপুনভাবে সার্ভার কনট্রোল করে ।

<script runat=”server”>
Sub Page_Load
link1.HRef=”http://www.firoz.me”
End Sub
</script>

<html>
<body>

<form runat=”server”>
<a id=”link1″ runat=”server”>Visit Firoz.me!</a>
form>

</body>
</html>

উপরের executable code এইচটিএমএল এর সাথে রুপান্তরিত হয় ।

ASP.NET দিয়ে ওয়েব সার্ভার কনট্রোল
ওয়েব সার্ভার কনট্রোল হলো স্পেশাল ASP.NET ট্যাগ যেটা সার্ভারকে বুঝাতে সাহায্য করে ।
ওয়েব সার্ভার তৈরির জন্য একটা syntax ব্যবহার করা হয় ।
<asp:control_name id=”some_id” runat=”server” />

তাহলে কোডটি দাড়াচ্ছে ঃ
<script runat=”server”>
Sub submit(Source As Object, e As EventArgs)
button1.Text=”You clicked me!”
End Sub
</script>

<html>
<body>

<form runat=”server”>
<asp:Button id=”button1″ Text=”Click me!”
runat=”server” OnClick=”submit”/>
</form>

</body>
</html>

উপরের কোডে আমরা .aspx ফাইলে একটা বাটন সার্ভার কন্ট্রোল ঘোষণা করা হয় । এরপর আমরা একটা event handler তৈরী করি যেটা Click event কে টেক্সট থেকে একটা বাটনে পরিণত করে ।

ASP.NET দিয়ে সার্ভার কনট্রোল বৈধকরণ
সার্ভার কনট্রোল বৈধকরণ করার জন্য নতুন করে syntax যোগ করতে হয় ।
<asp:control_name id=”some_id” runat=”server” />

তাহলে কোডটি দাড়াচ্ছে ঃ

<html>
<body>

<form runat=”server”>
<p>Enter a number from 1 to 100:
<asp:TextBox id=”tbox1″ runat=”server” />
<br /><br />
<asp:Button Text=”Submit” runat=”server” />
</p>

<p>
<asp:RangeValidator
ControlToValidate=”tbox1″
MinimumValue=”1″
MaximumValue=”100″
Type=”Integer”
Text=”The value must be from 1 to 100!”
runat=”server” />
</p>
</form>

</body>
</html>

কি মাথা ঘুরছে তাই নাহ? তাহলে আজ এই পর্যন্তই থাক । এটুকুই ভালভাবে প্রাকটিস করতে থাকুন ।

ASP.NET টিউটোরিয়াল :[পর্বঃ ২]:: Web Forms দিয়ে এইচটিএমএল পেজ তৈরী

ASP.NET টিউটোরিয়াল :[পর্বঃ ২]:: Web Forms দিয়ে এইচটিএমএল পেজ তৈরী

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

 

গত পর্বে আমরা ASP.NET এর ব্যাসিক ধারণা নিয়েছিলাম । আজ আমরা শিখবো কিভাবে ASP.NET Web Forms দিয়ে এইচটিএমএল পেজ তৈরী করা যায় ।

Hello Firoz পেজ তৈরী
আমরা আগে দেখিয়েছিলাম এইচটিএমএল দিয়ে কিভাবে একটা ওয়েবপেজ তৈরী করতে হয় । এইচটিএমএল আর ASP.NET একইভাবে কাজ করে । একটা সিম্পল ASP.NET পেজ এবং একটি এইচটিএমএল পেজ দেখতে একই রকম । আসেন তার একটা পরীক্ষা করে নিজেই দেখে নেই ।

<html>
<body bgcolor=”yellow”>
<center>
<h2>Hello Firoz</h2>
</center>
</body>
</html>

এবার এটাকে নোটপ্যাড দিয়ে লিখে firstpage.htm নামে সেভ করি । এবার এটাকে আপনার ব্রাউজার এর সাহায্যে ওপেন করে দেখুন কেমন দেখায় ।

আবার উপরের কোডটুকু নোটপ্যাডে আবার লিখে firstpage.aspx ফরমেটে সেভ করুন । তারপর আবার এটাকে আপনার ব্রাউজার দিয়ে ওপেন করে দেখুন কেমন দেখায়। পার্থক্যটা আপনি নিজেই ভালো বুঝতে পারবেন ।

এভাবে খুব সহজে আমরা একটা এইচটিএমএল পেজকে ASP.NET পেজে কনভার্ট করতে পারি ।

এটা কিভাবে কাজ করে?
গঠনগত দিক দিয়ে একটি ASP.NET পেজ এবং একটি এইচটিএমএল পেজ একই ।
একটি এইচটিএমএল পেজের শেষের এক্সটেনশন থাকে .htm । যখন একটি ব্রাউজার সার্ভার একটি এইচটিএমএল পেজ ওপেন করতে যায় তখন সার্ভার কোনো মডিফিকেশন ছাড়াই ঐ পেজটিকে ব্রাউজারে পাঠিয়ে দেয় ।

অপরদিকে একটি ASP.NET পেজের শেষের এক্সটেনশন থাকে .aspx । যখন একটি ব্রাউজার সার্ভার একটি ASP.NET পেজ ওপেন করতে যায় তখন সার্ভার আগে executable code থাকলে সেটাকে প্রসেস করে তারপর তার রেজাল্ট ঐ ব্রাউজারে পাঠিয়ে দেয় । আর যদি কোনো executable code না থাকে তাহলে নরম্যালি রেজাল্ট দেখায় ।

এবার আমরা কিছু executable code যোগ করে static HTML pages এবং dynamic ASP pages এর পার্থক্য দেখবো । তার আগে জানি dynamic ASP কি । Active Server Pages (ASP) তৈরী হয়েছে কিছু বছর আগে যেটা HTML pages এর সাথে ব্যবহার করা হত । আগের ভার্সনের ASP কে বলা হত Classic ASP । ASP.NET পুরাপুরি Classic ASP এর সাথে সুসঙ্গত নয় । কিন্তু অধিকাংশ Classic ASP ভালভাবেই ASP.NET পেজের সাথে কাজ করে ।

Classic ASP দিয়ে ডায়নামিক পেজ তৈরী
ASP কিভাবে ডায়নামিক কনটেন্ট এর পেজকে দেখায় সেটা বুঝানোর জন্য আগের উদাহরণের সাথে আমরা কিছু executable code যোগ করবো ।
<html>
<body bgcolor=”yellow”>
<center>
<h2>Hello Firoz.me!</h2>
<p><%Response.Write(Now())%></p>
</center>
</body>
</html>

<% –%> এই ট্যাগের ভিতরকার কোড সার্ভারে সম্পাদিত হবে ।
Response.Write হলো ASP code । এটা এইচটিএমএল এর আউটপুট স্ট্রিমের সাথে কাজ করবে ।
Now() হল একটি ফাংশন যেটা সার্ভারের বর্তমান তারিখ এবং সময় দেখাবে ।
এটা পর্যবেক্ষণের জন্য আমরা dynpage.asp নামে সেভ করে ব্রাউজারে ওপেন করবো ।

ASP .NET দিয়ে ডায়নামিক পেজ তৈরী
নিচের কোডটুকু নোটপ্যাডে লিখে dynpage.aspx নামে সেভ করি ।

<html>
<body bgcolor=”yellow”>
<center>
<h2>Hello Firoz.me!</h2>
<p><%Response.Write(Now())%></p>
</center>
</body>
</html>

এবার এটা ব্রাউজারে ওপেন করে নিজেই পার্থক্যটা দেখি ।

ASP.NET vs Classic ASP
পূর্বের উদাহরণটা ASP.NET এবং Classic ASP এর তেমন কোনো পার্থক্য দেখাতে পারে না । আধুনিক উদাহরণে এদের কোনো পার্থক্য নেই ।

পরবর্তী পোস্টে আমরা দেখাবো Classic ASP এর তুলনায় ASP.NET কতটা শক্তিশালী । তত সময় আমাদের সাথেই থাকুন ।

ASP.NET টিউটোরিয়াল :[পর্বঃ১] : ব্যাসিক ধারণা : ASP.NET Web Forms – Tutorial

ASP.NET টিউটোরিয়াল :[পর্বঃ১] : ব্যাসিক ধারণা

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

কেমন আছেন সবাই? নিশ্চয়ই ভালো । ভালো থাকলেই ভালো । এখন যতটুকু ভালো আছেন, আমি যে খবর এখন আপনাদের দিব শুনলেই আরো বেশি ভালো হয়ে যাবেন । কি সেই খবর? অপেক্ষার পালা শেষ । এতদিন আপনাদের শুধু ওয়েব-ডিজাইনের বিভিন্ন শাখার ব্যাসিক ধারণা দিয়েছি । আজ থেকে আপনাদের সাথে শুরু করবো ASP.NET এর ধারাবাহিক টিউটোরিয়াল । কি আপনি রেডি তো? রেডি না থাকলে ঝটপট রেডি হয়ে নিন । কারণ আজ আপনাদের সাথে শেয়ার করবো ASP.NET এর ব্যাসিক ধারণা ।

ASP.NET কি?
ASP.NET একটি ডেভেলপমেন্ট ফ্রেমওয়ার্ক । এটি এইচটিএমএল, সিএসএস, জাভাস্ক্রিপ্ট এবং সার্ভার স্ক্রিপ্ট দিয়ে ওয়েবপেজ তৈরিতে ব্যবহার করা হয় । যার সাহায্যে আপনি তৈরী করতে পারবেন পুরো একটি ওয়েবসাইট ।

ASP.NET কি সাপোর্ট করে ?
ASP.NET তিনটি ডেভেলপমেন্ট মডেল সাপোর্ট করে ।
১। Web Pages
২। MVC (Model View Controller)
৩। Web Forms

এখন আপাতত এই তিনটি মডেল এর নাম মনে রাখলেই চলবে । পরে এগুলো নিয়ে আরো বিস্তারিত আলোচনা করবো ।

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

Web Forms কি ?
Web Forms হলো তিনটি প্রোগ্রামিং মডেলের সমন্বয় । প্রোগ্রামিং মডেল তিনটি হলোঃ
১। ASP.NET web sites এবং web applications তৈরী ।
২। Web Pages
৩। MVC (Model, View, Controller)

Web Forms হলো সবচেয়ে পুরাতন প্রোগ্রামিং মডেল । এটা HTML, server controls এবং server code দিয়ে তৈরী করা ওয়েবপেজের চালনা করে থাকে ।
Web Forms সার্ভারে সংকলন এবং সম্পাদন করা থাকে । এটি সার্ভারে থেকেই এইচটিএমএল কে জেনারেট করে ওয়েবপেজ দেখাতে সাহায্য করে থাকে ।

Web Forms এর একটি ডেভেলপমেন্ট টুলস হলো Visual Studio Express । Visual Studio Express হলো Microsoft Visual Studio এর একটি ফ্রী ভার্সন । আপনি যদি Visual Studio Express আপনার কম্পিউটারে ইন্সটল করে থাকেন তাহলে আপনি পরবর্তী টিউটোরিয়ালে অনেক ভালো বুঝতে পারবেন ।
কোথায় পাবেন এই Visual Studio Express?
আপনি নিচের ঠিকানা থেকে ডাউনলোড করে নিতে পারেনঃ

১। Visual Web Developer 2012 (If you have Windows 7 or Windows 8)ঃ http://www.microsoft.com/web/handlers/webpi.ashx?command=getinstallerredirect&appid=VWDOrVs11AzurePack

২। Visual Web Developer 2010 (If you have Windows Vista or XP)ঃ http://www.microsoft.com/web/gallery/install.aspx?appid=VWDorVS2010SP1Pack

আপনার পিসির কনফিগারেশন অনুয়ায়ী আপনার Visual Studio Express টি ডাউনলোড করে নিন ।

আজ এই পর্যন্ত । কোথাও না বুঝতে পারলে কমেন্ট করতে কিন্তু ভুলবেন না । দেখা হবে পরবর্তী পোস্টে ।

ASP.NET টিউটোরিয়াল :[পর্বঃ ২২]:: ASP.NET Web Forms এর Validation Server Controls ট্যাগের বর্ণনা

ASP.NET টিউটোরিয়াল :[পর্বঃ ২২]:: ASP.NET Web Forms এর Validation Server Controls ট্যাগের বর্ণনা
লেখকঃ মোস্তাফিজুর ফিরোজ ।

কেমন শিখলেন ASP.NET ? শিখতে শিখতে ASP.NET এর সবই শিখে ফেললাম । আজ আমরা ASP.NET এর শেষ পর্বে পৌছে গেছি । তাই আজ ASP.NET Web Forms এর Validation Server Controls ট্যাগের বর্ণনা শিখলেই ASP.NET এর সবই শেখা হয়ে যাবে ।

Validation Server Controls
Validation Server Control সাধারণত ইনপুট কনট্রোলের ডাটার ভেলিডেশন করার জন্য ব্যবহার করা হয় । যদি ডাটা ভেলিডেশন না হয় তাহলে ব্যবহারকারীরা এরর মেসেজ দেখতে পায় ।

ভেলিডেশন সার্ভার কনট্রোলের জন্য নিচের syntax ব্যবহার করা হয় ।
<asp:control_name id=”some_id” runat=”server” />

Validation Server Control ট্যাগের বর্ণনা

CompareValidator = ইনপুট কনট্রোলের ভেলু নির্ধারণ করে ।
CustomValidator = মেথড লিখতে সাহায্য করে যার সাহায্যে ভেলু প্রবেশ করানো যায় ।
RangeValidator = ব্যবহারকারীরা যে ভেলু প্রবেশ করায় তার মাঝামাঝি দুটো ভেলু হিসেব করে ।
RegularExpressionValidator = যেকোনো ভ্যালু এর সাথে এটা মিলে যাবে তার নিশ্চয়তা প্রদান করা হয় ।
RequiredFieldValidator = ইনপুট কনট্রোলের জন্য একটা জায়গা তৈরি করে ।
ValidationSummary = একটি পেজের সকল validation errors এর রিপোর্ট প্রদর্শন করে ।

আর এর ভিতরেই কিন্তু ASP.NET এর সকল পর্ব শেষ হয়ে গেলো । আমি আমার সাধ্য মত আপনাদের বোঝানোর চেষ্টা করেছি । কতটুকু বুঝতে পারলেন সেটা আপনাদের উপরই নির্ভর করবে । আর আপনাদের শেখার উপরই নির্ভর করবে আমার সকল টিউটোরিয়ালের সার্থকতা । তাই কোথাও না বুঝতে পারলে কমেন্ট করতে ভুলবেন না । দেখা হবে আবার কোনো নতুন ধারাবাহিক টিউটোরিয়াল নিয়ে । ততদিন এটা প্র্যাকটিস করতে থাকুন । ভাল থাকবেন এবং আমার জন্যও দোয়া করবেন ।

ASP.NET টিউটোরিয়াল :[পর্বঃ ২১]:: ASP.NET Web Forms এর Web Server Controls ট্যাগের বর্ণনা

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

গত পর্বে আমরা শিখেছিলাম ASP.NET Web Forms এর HTML Server Control ট্যাগের বর্ণনা । আজ আমরা শিখবো ASP.NET Web Forms এর Web Server Controls ট্যাগের বর্ণনা । আপনি রেডি তো ? ;)

Web Server Controls
Web Server Controls হল সার্ভারের বোঝার জন্য স্পেশাল ASP.NET ট্যাগ ।
HTML server controls এর মত Web Server Controls এ ও HTML ইলিমেন্টস গুলো ASP.NET এর ভিতর সাধারণ টেক্সট আকারেই থাকে । এটাকে প্রোগামেবল করার জন্য এতে runat=”server” এলিমেন্ট যোগ করা হয়ে থাকে । এখানে runat=”server” এলিমেন্ট প্রকাশ করে এটা একটা সার্ভার কনট্রোল ।
Web Server Controls তৈরী করার জন্য নিচের মত একটা syntax ব্যবহার করা হয় ।
<asp:control_name id=”some_id” runat=”server” />

Web Server Control ট্যাগের বর্ণনা

AdRotator = ছবিগুলোর ধারাবাহিকতা দেখায় ।
Button = পুশ বাটন দেখায় ।
Calendar = একটি ক্যালেন্ডার দেখায় ।
CalendarDay = একটি দিনের ক্যালেন্ডার কনট্রোল দেখায় ।
CheckBox = একটি চেক বক্স প্রদর্শন করে ।
CheckBoxList = multi-selection check box group তৈরী করে ।
DataGrid = একটি গ্রিডে ডাটার উৎসের ক্ষেত্র দেখায় ।
DataList = টেমপ্লেট ব্যবহার করে ডাটা উৎসের আইটেমগুলোকে দেখায় ।
DropDownList = drop-down list তৈরী করে ।
HyperLink = HyperLink তৈরি করে ।
Image = ছবি প্রদর্শন করে ।
ImageButton = clickable image তৈরি করে ।
Label = প্রোগ্রামাবেল static content দেখায় ।
LinkButton = hyperlink button তৈরি করে ।
ListBox = single- or multi-selection drop-down list তৈরি করে ।
ListItem = লিস্টের ভিতর আইটেম তৈরি করে ।
Literal = প্রোগ্রামাবেল static content দেখায় ।
Panel = অন্যদের কন্ট্রোল করে ।
PlaceHolder = কোড জমা রাখার জন্য জায়গা রেখে দেয় ।
RadioButton = Radio Button তৈরি করে ।
RadioButtonList = Radio Button গ্রুপ তৈরি করে ।
BulletedList = বুলেট ফরমেটে লিস্ট তৈরি করে ।
Repeater = রিপিট লিস্ট তৈরি করে কনট্রোলের জন্য ।
Style = কন্ট্রোলের স্টাইল তৈরি করে ,
Table = টেবিল তৈরি করে ।
TableCell = টেবিলের একক সেল তৈরি করে ।
TableRow = টেবিলের সারি তৈরি করে ।
TextBox = TextBox তৈরি করে ।
Xml = Xml ফাইল দেখায় ।

আপনারা এই ট্যাগ গুলো এবং এদের কাজ মুখস্থ করে ফেলার চেষ্টা করবেন । তাহলে আপনাদের কোডিং করতে অনেক সুবিধা হবে ।

ASP.NET টিউটোরিয়াল :[পর্বঃ ২০]:: ASP.NET Web Forms এর HTML Server Control ট্যাগের বর্ণনা

ASP.NET টিউটোরিয়াল :[পর্বঃ ২০]:: ASP.NET Web Forms এর HTML Server Control ট্যাগের বর্ণনা
লেখকঃ মোস্তাফিজুর ফিরোজ ।

শিখতে শিখতে আমরা কিন্তু প্রায় শেষ পর্যায়ে । আজ আমরা শিখবো ASP.NET Web Forms এর HTML Server Control ট্যাগের বর্ণনা করা ।

HTML Server Controls
HTML সার্ভার কনট্রোল হলো HTML ট্যাগ যেটা সার্ভারকে বুঝাতে সাহায্য করে ।
HTML ইলিমেন্টস গুলো ASP.NET এর ভিতর সাধারণ টেক্সট আকারেই থাকে । এটাকে প্রোগামেবল করার জন্য এতে runat=”server” এলিমেন্ট যোগ করা হয়ে থাকে । এখানে runat=”server” এলিমেন্ট প্রকাশ করে এটা একটা সার্ভার কনট্রোল ।

উল্লেখ্য, সকল এইচটিএমএল সার্ভার কনট্রোল গুলো runat=”server” এট্রিবিউটের সাথে <form> ট্যাগ আকারে থাকতে হবে ।
ASP.NET এর ভিতরকার সকল এইচটিএমএল এলিমেন্টস গুলো ভালভাবে ট্যাগ দ্বারা শেষ হতে হবে ।

HTML Server Control ট্যাগের বর্ণনা

HtmlAnchor = HTML element কনট্রোল করে ।
HtmlButton =
HtmlForm =

HTML element কনট্রোল করে ।

HtmlGeneric = ,

, প্রভৃতি HTML server কনট্রোল করে ।

HtmlImage = HTML element কনট্রোল করে ।
HtmlInputButton = , , এবং HTML elements কনট্রোল করে ।
HtmlInputCheckBox = HTML element কনট্রোল করে ।
HtmlInputFile = HTML element কনট্রোল করে ।
HtmlInputHidden = HTML element কনট্রোল করে ।
HtmlInputImage = HTML element কনট্রোল করে ।
HtmlInputRadioButton = HTML element কনট্রোল করে ।
HtmlInputText = এবং HTML elements কনট্রোল করে ।
HtmlSelect =
HtmlTable = HTML element কনট্রোল করে ।
HtmlTableCell = এবং HTML elements কনট্রোল করে ।
HtmlTableRow = HTML element কনট্রোল করে ।
HtmlTextArea =

আপনারা এই ট্যাগ গুলো এবং এদের কাজ মুখস্থ করে ফেলার চেষ্টা করবেন । তাহলে আপনাদের কোডিং করতে অনেক সুবিধা হবে ।

ASP.NET টিউটোরিয়াল :[পর্বঃ ১৯]:: ASP.NET Web Forms এর বিভিন্ন উদাহরণ

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

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

ASP.NET HTML Controls

HTMLAnchor ঃ http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_htmlanchor
HTMLButton : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_htmlbutton
HTMLImage : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_htmlimage
HTMLImage 2 : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_htmlimage2
HTMLInputbutton : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_htmlinputbutton
HTMLInputCheckbox : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_htmlinputcheckbox
HTMLInputHidden : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_htmlinputhidden
HTMLInputImage : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_htmlinputimage
HTMLInputRadiobutton : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_htmlinputradiobutton
HTMLTable : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_htmltable
HTMLTable 2 : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_htmltable2
HTMLTextarea : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_htmltextarea

ASP.NET Web Controls

AdRotator : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_adrotator
Button : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_button
Button 2 : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_button2
Calendar : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_calendar
Calendar 2 : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_calendar
Calendar 3 : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_calendar3
Checkbox : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_checkbox
CheckboxList : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_checkboxlist
DataList : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_datalist1
DataList with styles : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_datalist2
DataList with : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_datalist3
DropdownList : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_dropdownlist
Hyperlink : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_hyperlink
Image : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_image
ImageButton : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_imagebutton
Label : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_label
LinkButton : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_linkbutton
Listbox : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_listbox
Literal : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_literal
Literal 2 : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_literal2
Panel : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_panel
Radiobutton : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_radiobutton
RadiobuttonList : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_radiobuttonlist
Repeater : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_repeater1
Repeater with <AlternatingItemTemplate> : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_repeater2
Repeater with <SeparatorTemplate> : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_repeater3
Table : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_table
Table 2 : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_table2
Textbox : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_textbox
Textbox 2 : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_textbox2
Textbox 3 : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_textbox3
XML : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_xml

ASP.NET Validation Controls

CompareValidator : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_comparevalidator
CompareValidator 2 : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_comparevalidator2
CustomValidator : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_customvalidator
RangeValidator : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_rangevalidator
RangeValidator 2 : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_rangevalidator2
RegularExpressionValidator : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_regularexpvalidator
RequiredFieldValidator : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_reqfieldvalidator
Validationsummary : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_validationsum
Validationsummary 2 : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_validationsum2

ASP.NET Events

Page_Load : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_pageload
Page.IsPostBack : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_pageispostback

ASP.NET Data Binding

ArrayList RadioButtonList : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_arraylist_radio1
ArrayList DropDownList : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_arraylist_drop1
Hashtable RadioButtonList 1 : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_hashtable_radio1
Hashtable RadiobuttonList 2 : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_hashtable_radio2
Hashtable DropDownList : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_hashtable_drop1
SortedList RadioButtonList 1 : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_sortedlist_radio1
SortedList RadiobuttonList 2 : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_sortedlist_radio2
SortedList DropDownList : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_sortedlist_drop1
XML RadiobuttonList : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_xml_radio1

ASP.NET Database

Database connection – Bind to a Repeater control : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_dbconn_repeater
Database connection – Bind to a DataList control : http://www.w3schools.com/aspnet/showaspx.asp?filename=demo_dbconn_datalist

এগুলো সবই কিন্তু আমি আগে দেখিয়েছি । একটু মনে করে দেখুন । কি নামগুলো সব এখন পরিচিত মনে হচ্ছে নাহ? হুম । উদাহরণ গুলো দেখুন তাহলেই সব মনে পড়বে । না দেখে আবার আমাকে তাই দোষ দিবেন না কিন্তু । ;)

এখান থেকে উদাহরণ দেখে দেখে চর্চা করুন এবং তার প্রতিফলন দেখুন । সবই খুব খুব সহজ এবং অনেক অনেক মজার ।