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

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

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

ASP.NET টিউটোরিয়াল :[পর্বঃ ১৮]:: ASP.NET Web Forms দিয়ে ওয়েবসাইট নেভিগেশন

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

গত পর্বে আমরা মাস্টার পেজ আর কনটেন্ট পেজ কি জিনিস এবং এর ব্যবহার শিখেছি । আজ আমরা শিখবো ASP.NET Web Forms দিয়ে ওয়েবপেজ নেভিগেশন ।

ওয়েবসাইট নেভিগেশন কি?
সাধারণত একটি বড় ওয়েবসাইটের মেনু নিয়ন্ত্রণ করা অনেক কঠিন এবং অনেক সময়ের ব্যাপার । তাই ASP.NET একটি ফাইলের ভিতর সব জমা করে রাখে যাতে খুব সহজে নিয়ন্ত্রণ করা যায় । এই ফাইলটিকে বলা হয় ওয়েব সাইটম্যাপ এবং এটা প্রধান ডিরেকটরীতে জমা করে রাখা হয় ।

ASP.NET তিন ধরণের নেভিগেশন কন্ট্রোল করে থাকে ।
১। Dynamic menus
২। TreeViews
৩। Site Map Path

সাইটম্যাপ ফাইল
আমরা বুঝানোর জন্য নিচের সাইটম্যাপটিকে ব্যবহার করবো ।

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>

XML file এ অবশ্যই একটি <siteMap> ট্যাগ থাকবে ।
<siteMap> ট্যাগ শুধু মাত্র একটি <siteMapNode> থাকবে ।
প্রতি <siteMapNode> এর অনেকগুলো ওয়েব পেজ থাকতে পারে ।
প্রতি <siteMapNode> পেজ টাইটেল এবং URL নির্দেশ করবে ।

উল্লেখ্য সাইটম্যাপ ফাইল রুট ডিরেক্টরিতে থাকবে এবং URL রুট ডিরেকটরী থেকে শুরু হবে ।

ডায়নামিক মেনু
<asp:Menu> নিয়ন্ত্রণ করে সাইটের একটি আদর্শ নেভিগেশন মেনু তৈরী করবে ,
কোডের উদাহরন দেখিঃ

<asp:SiteMapDataSource id=”nav1″ runat=”server” />

<form runat=”server”>
DataSourceId=”nav1″ />
form>

<asp:Menu> উদাহরণে সার্ভারের নেভিগেশন মেনু দেখাবে ।
DataSourceId সার্ভারের ডাটার উৎস দেখাবে । id=”nav1″ টি <asp:SiteMapDataSource> এর সাথে যুক্ত হতে সাহায্য়ংক্রিয়ভাবেp:SiteMapDataSource> কনট্রোল স্বয়ংক্রিয়ভাবে ডিফল্ট সাইটম্যাপের সাথে যুক্ত হবে ।

TreeView
<asp:TreeView> control নেভিগেশন মেনুর অনেকগুলো লেভেলকে একসাথে দেখাতে সাহায্য করবে । এটা + অথবা – সিম্বলের মত দেখতে হবে ।

<asp:SiteMapDataSource id=”nav1″ runat=”server” />

<form runat=”server”>
<asp:TreeView runat=”server” DataSourceId=”nav1″ />
</form>

SiteMapPath
SiteMapPath হলো নেভিগেশন প্যাথের সকল প্যাথকে প্রধান প্যাথের সাথে দেখাবে ।

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

<asp:SiteMapPath> সার্ভারের সকল প্যাথকে দেখাবে ।

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

ASP.NET টিউটোরিয়াল :[পর্বঃ ১৭]:: ASP.NET Web Forms দিয়ে সাইটের প্রধান পেজ তৈরী

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

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

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

প্রধান পেজের উদাহরণ

<%@ Master %>

<html>
<body>
<h1>Standard Header From Masterpage</h1>
<asp:ContentPlaceHolder id=”CPH1″ runat=”server”>
</asp:ContentPlaceHolder>
</body>
</html>

এটা থেকে আমরা বুঝে নিবো,
মাস্টার পেজ সাধারণত HTML page যা আর বাকি পেজের মতই দেখায় ।
@ Master ট্যাগ নির্দেশ করে এটা একটা মাস্টার পেজ ।
মাষ্টার পেজ <asp:ContentPlaceHolder> টাগের মাধ্যমে কনটেন্ট গুলো ধারন করে থাকে ।
id=”CPH1″ এট্রিবিউট একইপেজে অনেক মাস্টারপেজকে নির্দেশ করে ।
মাস্টার পেজ “master1.master” নামে সেভ করা থাকে ।

কনটেন্ট পেজের উদাহরণ

<%@ Page MasterPageFile=”master1.master” %>

<asp:Content ContentPlaceHolderId=”CPH1″ runat=”server”>
<h2>Individual Content</h2>
<p>Paragraph 1</p>
<p>Paragraph 2</p>
</asp:Content>

কনটেন্ট পেজ হলো ওয়েব এর আলাদা আলাদা কনটেন্ট পেজ ।
@ Page টাগ বুঝায় এটা একটি আদর্শ কনটেন্ট পেজ ।
এটা <asp:Content> ট্যাগের মাধ্যমে মাস্টার পেজের রেফারেন্স নেয় ।
কনটেন্ট পেজ “mypage1.aspx” নামে সেভ করা থাকে ।

কনটেন্ট পেজের কনট্রোল

<%@ Page MasterPageFile=”master1.master” %>

<asp:Content ContentPlaceHolderId=”CPH1″ runat=”server”>
<h2>W3Schools</h2>
<form runat=”server”>
<asp:TextBox id=”textbox1″ runat=”server” />
<asp:Button id=”button1″ runat=”server” text=”Button” />
</form>
</asp:Content>

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

তাহলে বুঝলেন তো মাস্টার পেজ আর কনটেন্ট পেজ কি জিনিস এবং এর ব্যবহার ।

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

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

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

ADO.NET কি?
ADO.NET তো ব্যভার করবো তাহলে আসুন আগে জেনে নেই ADO.NET টা কি জিনিস । এটা .NET Framework এর একটা অংশ । ADO.NET ডাটা অ্যাক্সেস হ্যান্ডেলের জন্য অনেকগুলো ক্লাস একসাথে ধারণ করে থাকে । এটা XML এর উপর ভিত্তি করে গঠিত হয় । এর ADO এর মত কোনো রেকর্ডসেট অবজেক্ট নাই ।

ডাটাবেজ কানেকশন তৈরী
আমরা কিন্তু আমাদের উদাহরণের জন্য Northwind database ব্যবহার করবো ।
প্রথমে তাই “System.Data.OleDb” নেমস্পেসকে ইম্পোর্ট করবো । এই নেমস্পেস যেনো আবার Microsoft Access এবং অন্যান্য OLE DB database provider এর সাথে কাজ করে থাকে । Page_Load সাবরুটিনের সাথে আমরা ডাটাবেজের কানেকশন তৈরী করবো । আমরা dbconn variable তৈরী করবো যেন সেটা নতুন OleDbConnection class আকারে ডাটাবেজকে নির্দেশ করে । তারপর ডাটাবেজ কানেকশনটি ওপেন করুন ।

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

<script runat=”server”>
sub Page_Load
dim dbconn
dbconn=New OleDbConnection(“Provider=Microsoft.Jet.OLEDB.4.0;
data source=” & server.mappath(“northwind.mdb”))
dbconn.Open()
end sub
</script>

খেয়াল রাখবেন যেন এর ভিতর কোনো লাইনের ব্রেক না হয় ।

ডাটাবেজ কমান্ড তৈরী
নতুন OleDbCommand ক্লাসে dbcomm variable তৈরী করবো যেন OleDbCommand class, SQL queries এর বিরুদ্ধে ডাটাবেজ টেবিল তৈরী করে ।

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

<script runat=”server”>
sub Page_Load
dim dbconn,sql,dbcomm
dbconn=New OleDbConnection(“Provider=Microsoft.Jet.OLEDB.4.0;
data source=” & server.mappath(“northwind.mdb”))
dbconn.Open()
sql=”SELECT * FROM customers”
dbcomm=New OleDbCommand(sql,dbconn)
end sub
</script>

ডাটা রিডার তৈরী
আমরা নিচের মত করে ডাটা রিডার তৈরী করতে পারি ।

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

<script runat=”server”>
sub Page_Load
dim dbconn,sql,dbcomm,dbread
dbconn=New OleDbConnection(“Provider=Microsoft.Jet.OLEDB.4.0;
data source=” & server.mappath(“northwind.mdb”))
dbconn.Open()
sql=”SELECT * FROM customers”
dbcomm=New OleDbCommand(sql,dbconn)
dbread=dbcomm.ExecuteReader()
end sub
</script>

রিপিটার কনট্রোল দূর করার জন্য বাইন্ডিং
রিপিটার কনট্রোল দূর করার জন্য আমরা ডাটারিডারকে রিপিটার এর সাথে বাইন্ডিং করতে পারি ।

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

<script runat=”server”>
sub Page_Load
dim dbconn,sql,dbcomm,dbread
dbconn=New OleDbConnection(“Provider=Microsoft.Jet.OLEDB.4.0;
data source=” & server.mappath(“northwind.mdb”))
dbconn.Open()
sql=”SELECT * FROM customers”
dbcomm=New OleDbCommand(sql,dbconn)
dbread=dbcomm.ExecuteReader()
customers.DataSource=dbread
customers.DataBind()
dbread.Close()
dbconn.Close()
end sub
</script>

<html>
<body>

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

<HeaderTemplate>
<table border=”1″ width=”100%”>
<tr>
<th>Companyname</th>
<th>Contactname</th>
<th>Address</th>
<th>City</th>
</tr>
</HeaderTemplate>

<ItemTemplate>
<tr>
<td><%#Container.DataItem(“companyname”)%></td>
<td><%#Container.DataItem(“contactname”)%></td>
<td><%#Container.DataItem(“address”)%></td>
<td><%#Container.DataItem(“city”)%></td>
</tr>
</ItemTemplate>

<FooterTemplate>
</table>
</FooterTemplate>

</asp:Repeater>
</form>

</body>
</html>

ডাটাবেজ কানেকশন বন্ধ করা
ডাটাবেজ কানেকশন বন্ধ করতে আমরা নিচের মত করে কোড ব্যবহার করতে পারি ।

dbread.Close()
dbconn.Close()

তাহলে তো শিখে গেলেন ডাটাবেজ কানেকশন কিভাবে দিতে হয় আর কিভাবে বন্ধ করতে হয় ।