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()

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

পিএইচপি – টেবিলে শেষ প্রবেশকৃত রেকর্ড এর আইডি বের করা (PHP Get ID of Last Inserted Record in Bangla)

auto-increment ফাংশন এর মাধ্যমে যদি আমরা টেবিলে কোন ডাটা যোগ বা পরিবর্তন করে থাকি তাহলে এর ID এর নাম্বারটি আমরা অতি দ্রুতই পেতে পারি।

Phpmyadmin এ গিয়ে “MyGuests” নামের একটি ডাটাবেস টেবিল তৈরি করি । এখানে আইডি কলাম হচ্ছে AUTO_INCREMENT ফিল্ড:


 CREATE TABLE MyGuests (
 id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
 firstname VARCHAR(30) NOT NULL,
 lastname VARCHAR(30) NOT NULL,
 email VARCHAR(50),
 reg_date TIMESTAMP
 )

এবং সেভ বাটন এ ক্লিক করি। তাহলে আমাদের ডাটাবেস এবং টেবিল তৈরি হয়ে গেল।

এখন আমরা পরবর্তী পিএইচপি পেজ তৈরি করব জার মাধ্যমে আমরা ডাটা ইনপুট বা আপডেট করলে তার ID নাম্বার টা পাই।


< ?php 
$servername = "localhost";     /*সারভার নাম*/ 
$username = "username";        /*xampp server এ root ব্যবহার করা হয়*/ 
$password = "password";        /*xampp সারভার এ পাসওয়ার্ড ব্লাঙ্ক থাকে*/ 
$dbname = "myDB";              /*ডাটাবেস এর নাম*/ 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname);
                               /*এর মাধ্যমে ডাটাবেস এর সাথে connection তৈরি করা হোল */ 
// Check connection 
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
                               /*যদি connection ঠিক না থাকে তাহলে “connection failed” 
                               দেখাবে*/
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";
                               /*ডাটাবেস টেবিল এর মধ্যে একটি ডাটা যোগ করা হোল*/
if ($conn->query($sql) === TRUE) 
                               /*একটি শর্ত দিয়ে দেয়া হোল যদি SQL QUERY টা ঠিক মত হয়ে থাকে 
                               তাহলে নিচের মতন হবে*/ 
{
   $last_id = $conn->insert_id;
   echo "New record created successfully. Last inserted ID is: " . $last_id;
                              /*আমাদের একটি ID auto-increment সেট করে দেওয়া হয়েছিল এই লাইন 
                              এর মাধ্যমে আমরা সেই ID টা দেখতে পারব*/
} else {                      /*যদি আমাদের ডাটাবেসের সাথে query তে ভুল থাকে তাহলে 
                              সে এরর দেখাবে মানে কোন ডাটা অ্যাড হয় নি */
   echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();                /*এই কোড এর মাধ্যমে আমরা ডাটাবেস এর connection বন্ধ করে দিব */
?>

 

নোটপ্যাড ওপেন করে এই example টুকু টাইপ করে ফাইল টি সেভ করুন php_mysql_insert_lastid.php দিয়ে। আপনার ফাইল টি localhost > htdocs> test ফোল্ডার এর ভিতর রাখুন। ব্রাউজার ওপেন করে এড্রেস বারে লিখুন localhost/test/ php_mysql_insert_lastid.php . Go বাটন এ ক্লিক করলে একটি ফলাফল আপনি খুজে পাবেন। আপনি যে ID এর মাধ্যমে ডাটা অ্যাড করেছেন সেই ID নাম্বার টা ডিসপ্লে হবে।

এএসপি.নেট এমভিসি – ভিউস . ASP.NET MVC – Views

এএসপি.নেট এমভিসি – ভিউস
Sheikh Mahfuzur Rahman
Bangla word: 200

এএসপি.নেট এমভিসি (ASP.NET MVC) শিখার জন্য আমরা একটি ইন্টারনেট অ্যাপ্লিকেশন তৈরি করছি। আজকের টিউটোরিয়ালে যার পঞ্চম পর্ব নিয়ে আলোচনা করা হবে।

পার্ট-ফাইভঃ অ্যাপ্লিশনটি ডিসপ্লে করার জন্য ভিউস যোগ করা

ভিউস ফোল্ডার/Views Folder
Views ফোল্ডার অ্যাপ্লিকেশনটির ডিসপ্লে বা ইউজার ইন্টারফেসের সাথে সংশ্লিষ্ট ফাইলগুলো ( যেমন HTML ফাইল ) ধারণ করে। ল্যাঙ্গুয়েজ কন্টেন্ট এর উপর নির্ভর করে এই ফাইলগুলোর যেসব এক্সটেনশান থাকতে পারে সেগুলো হলো html, asp, aspx, cshtml এবং vbhtml

ভিউস ফোল্ডার প্রত্যেক কন্ট্রোলারের জন্য একটি ফোল্ডার ধারণ করে। ভিজ্যুয়াল ওয়েব ডেভলাপার Views ফোল্ডারের ভিতরে একটি অ্যাকাউন্ট ফোল্ডার, একটি হোম ফোল্ডার এবং একটি শেয়ার্ড ফোল্ডার তৈরি করেছে।

Account ফোল্ডার ইউজার অ্যাকাউন্ট রেজিস্টার করা এবং লগিন করার পেজগুলো ধারণ করে। Home ফোল্ডার হোম পেজ এবং অ্যাবাউট পেজের মতো অ্যাপ্লিকেশন পেজগুলো সংরক্ষণ করতে ব্যবহৃত হয়। Shared ফোল্ডার কন্ট্রোলারগুলোর ( মাস্টার পেজ এবং লেআউট ) মধ্যে শেয়ার্ড ভিউগুলো সংরক্ষণ করতে ব্যবহৃত হয়।

ছবিতে ফোল্ডার গুলো দেখুন

http://bangla.salearningschool.com/aspnet/pic_mvc_views.jpg
এএসপি.নেট ফাইল টাইপসমূহ/ASP.Net File Types

Views ফোল্ডারে নিচের মতো এইচইটিএমএল ফাইল পাওয়া যায়ঃ

ফাইল টাইপ এক্সটেনশান
Plain HTML .htm or .html
Classic ASP .asp
Classic ASP.NET .aspx
ASP.NET Razor C# .cshtml
ASP.NET Razor VB .vbhtml

ইন্ডেক্স ফাইল/index.html

Index.cshtml ফাইলটি অ্যাপ্লিকেশনের হোম পেজের প্রতিনিধিত্ব (represent) করে। এটাই অ্যাপ্লিকেশনের ডিফল্ট ফাইল ( index file)। ফাইলে নিচের উপাদানগুলো  যোগ করুনঃ

@{ViewBag.Title = “Home Page”;}
<h1>Welcome to W3Schools</h1>
<p>Put Home Page content here</p>

অ্যবাউট ফাইল/About File
About.cshtml ফাইলটি অ্যাপ্লিকেশনের অ্যাবাউট পেজকে প্রতিনিধিত্ব করে।
ফাইলটিতে নিচের উপাধানগুলো যোগ করুনঃ

@{ViewBag.Title = “About Us”;}
<h1>About Us</h1>
<p>Put About Us content here</p>

অ্যাপ্লিকেশনটিকে চালু (run) করুন

ওয়েব ডেভলাপার মেন্যু থেকে Debug সিলেক্ট করে ডিবাগিং শুরু করুন ( অথবা F5 চাপুন )।
আপনার অ্যাপ্লিকেশনটিকে নিচের মতো দেখাবেঃ

কিভাবে এটি কাজ করে তা দেখার জন্য “Home” ট্যাব এবং “About” ট্যাবে ক্লিক করুন।

 

Application er ছবি এখানে দেখুন

http://bangla.salearningschool.com/aspnet/pic_mvc_app.jpg

অভিনন্দন!

আপনাকে অভিনন্দন! আপনি আপনার প্রথম এমভিসি অ্যাপ্লিকেশন তৈরি করে ফেলেছেন!

লক্ষ্যনীয়ঃ আপনি এখনো “Movies” ট্যাবে ক্লিক করতে পারবেন না। আমরা এই টিউটোরিয়ালের পরবর্তী অধ্যায়ে “Movies” ট্যাবের জন্য কোড যোগ করবো।