ASP.NET Web Forms একটি component-based architecture ব্যবহার করে যেখানে ডেভেলপাররা বিভিন্ন UI controls ব্যবহার করে ইন্টারঅ্যাকটিভ এবং ডাইনামিক ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারেন। এগুলোর মধ্যে রয়েছে HTML Server Controls, Web Server Controls, Data-bound Controls, এবং Validation Controls। এই কন্ট্রোলগুলি বিভিন্ন ফাংশনালিটি এবং UI উপাদান প্রদানে সহায়তা করে।
HTML Server Controls হল সেই কন্ট্রোল যা সাধারণ HTML কন্ট্রোলের মতো কাজ করে, তবে ASP.NET Web Forms ফ্রেমওয়ার্কে ব্যবহৃত হয়ে সার্ভার-সাইড কোডের মাধ্যমে নিয়ন্ত্রিত হয়। এগুলি সাধারণত runat="server" অ্যাট্রিবিউটের সাথে ব্যবহৃত হয়, যাতে সার্ভার এই কন্ট্রোলগুলি প্রক্রিয়া করতে পারে।
উদাহরণ:
<input type="text" runat="server" id="txtName">
<button runat="server" id="btnSubmit">Submit</button>
এই কন্ট্রোলগুলো client-side HTML আউটপুট তৈরি করে, কিন্তু তাদের প্রক্রিয়া এবং ডেটা সার্ভার সাইডে থাকে।
Web Server Controls হল ASP.NET এর তৈরি বিশেষ কন্ট্রোল যা সশস্ত্রভাবে ওয়েব অ্যাপ্লিকেশন তৈরি করতে সহায়তা করে। এই কন্ট্রোলগুলি সহজে ডেটা বাইন্ডিং, ইভেন্ট হ্যান্ডলিং এবং অন্যান্য কার্যকারিতা প্রদান করে। এগুলি ডেভেলপারদের কাজকে অনেক সহজ করে তোলে এবং ফিচার সমৃদ্ধ ওয়েব পেজ তৈরি করতে সাহায্য করে।
প্রধান কিছু Web Server Controls:
উদাহরণ:
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
<asp:TextBox ID="txtName" runat="server" />
Data-bound Controls হল সেই কন্ট্রোল যা ডেটাবেস বা অন্য কোনো ডেটা সোর্সের সঙ্গে সংযুক্ত হয়ে ডেটা দেখানোর জন্য ব্যবহৃত হয়। এই কন্ট্রোলগুলো ডেটার সাথে সম্পর্ক স্থাপন করে, যাতে ডেটা থেকে ডাইনামিকভাবে কন্টেন্ট প্রদর্শন করা যায়।
প্রধান কিছু Data-bound Controls:
উদাহরণ:
<asp:GridView ID="gvData" runat="server" AutoGenerateColumns="True" DataSourceID="sqlDataSource" />
<asp:Repeater ID="rptData" runat="server">
<ItemTemplate>
<p><%# Eval("Name") %></p>
</ItemTemplate>
</asp:Repeater>
Validation Controls হল কন্ট্রোল যা ব্যবহারকারীর ইনপুট যাচাই করতে সহায়তা করে। এগুলি ডেটা যাচাইয়ের জন্য ব্যবহারকারীর ইনপুট যাচাই করে, যেমন একটি টেক্সটবক্সে ফিল্ড পূর্ণ না থাকলে সিস্টেম ভুল দেখাবে বা সীমার বাইরে মান দিলে সতর্কতা দেবে।
প্রধান কিছু Validation Controls:
উদাহরণ:
<asp:TextBox ID="txtEmail" runat="server" />
<asp:RequiredFieldValidator ID="rfvEmail" runat="server" ControlToValidate="txtEmail" ErrorMessage="Email is required" />
<asp:RangeValidator ID="rvAge" runat="server" ControlToValidate="txtAge" MinimumValue="18" MaximumValue="100" Type="Integer" ErrorMessage="Age must be between 18 and 100" />
ASP.NET Web Forms এর কন্ট্রোলগুলো একটি শক্তিশালী এবং কার্যকরী উপায় হিসেবে ব্যবহৃত হয় ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে, যেখানে UI, ইভেন্ট হ্যান্ডলিং, ডেটা বাইন্ডিং এবং ভ্যালিডেশন সহজে ইন্টিগ্রেট করা যায়।
ASP.NET Web Forms এ HTML Server Controls এমন ধরনের কন্ট্রোল যা সাধারণ HTML controls কে server-side হিসেবে ব্যবহার করার সুযোগ দেয়। এগুলি HTML (HyperText Markup Language) এর একটি অংশ হলেও, এগুলিকে server-side processing করার জন্য ASP.NET এর মাধ্যমে ব্যবহার করা হয়।
HTML Server Controls ব্যবহার করার ফলে ডেভেলপাররা client-side HTML কন্ট্রোলগুলিকে server-side কন্ট্রোল হিসেবে ব্যবহার করতে পারেন, যার ফলে সেগুলির জন্য ইভেন্ট হ্যান্ডলিং এবং সার্ভার-সাইড লজিক প্রয়োগ করা সহজ হয়।
TextBox Control:
<input type="text" id="txtName" runat="server" />
এখানে runat="server"
অ্যাট্রিবিউটটি TextBox কে সার্ভার-সাইড কন্ট্রোল হিসেবে ব্যবহার করার নির্দেশ দেয়।
Button Control:
<input type="button" value="Click Me" id="btnSubmit" runat="server" OnClick="btnSubmit_Click" />
এখানে OnClick="btnSubmit_Click"
ইভেন্ট হ্যান্ডলারটি অ্যাসাইন করা হয়েছে, যার মাধ্যমে সার্ভারে ক্লিক ইভেন্টটি প্রসেস করা হবে।
Label Control:
<label id="lblMessage" runat="server">Hello World</label>
Label কন্ট্রোলটি সাধারণ HTML <label>
ট্যাগের মতো কাজ করে, তবে এটি সার্ভার-সাইডে ডাইনামিকভাবে পরিবর্তন করা যায়।
HTML Server Controls ব্যবহারের জন্য প্রথমে runat="server" অ্যাট্রিবিউটটি কন্ট্রোলের মধ্যে যোগ করতে হয়। এই অ্যাট্রিবিউটটি ASP.NET কে জানায় যে, এই কন্ট্রোলটি একটি সার্ভার-সাইড কন্ট্রোল হবে এবং সার্ভারে ইভেন্ট হ্যান্ডলিং বা কোড প্রক্রিয়া করা যাবে।
<asp:Button id="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
এখানে btnSubmit কন্ট্রোলটির ক্লিক ইভেন্ট btnSubmit_Click মেথডের মাধ্যমে প্রসেস করা হবে। এই ইভেন্টটি কোড-বিহাইন্ড ফাইলে তৈরি করা হবে:
protected void btnSubmit_Click(object sender, EventArgs e)
{
lblMessage.Text = "Button clicked!";
}
এভাবে, HTML Server Controls এর মাধ্যমে সিম্পল HTML কন্ট্রোলগুলোকে ডাইনামিক ওয়েব অ্যাপ্লিকেশন তৈরি করার জন্য ব্যবহার করা সম্ভব।
HTML Server Controls ASP.NET Web Forms এর একটি শক্তিশালী ফিচার যা ডেভেলপারদের সিম্পল HTML কন্ট্রোলগুলোকে ডাইনামিক ও সার্ভার-সাইড কন্ট্রোল হিসেবে ব্যবহার করার সুযোগ দেয়। এটি বিশেষ করে সহজ ওয়েব অ্যাপ্লিকেশন তৈরি করতে কার্যকরী।
ASP.NET Web Forms এ Web Server Controls হলো এমন কন্ট্রোলস যা server-side processing এ ব্যবহৃত হয় এবং স্বয়ংক্রিয়ভাবে HTML এ রূপান্তরিত হয়। এগুলো ডেভেলপারদের জন্য ডাইনামিক ওয়েব পেজ তৈরি করা সহজ করে তোলে। Web Server Controls ডাটা বাইন্ডিং, ইভেন্ট হ্যান্ডলিং এবং স্টেট ম্যানেজমেন্টের মাধ্যমে ওয়েব অ্যাপ্লিকেশনকে আরও কার্যকরী করে তোলে।
এগুলো সাধারণ HTML controls এর তুলনায় বেশি ফিচার সমৃদ্ধ এবং ক্লায়েন্ট-সাইডের সাথে ইন্টারঅ্যাক্টিভ হয়। এখানে কিছু গুরুত্বপূর্ণ Web Server Controls এর বিস্তারিত আলোচনা করা হল:
TextBox একটি খুব সাধারণ এবং গুরুত্বপূর্ণ কন্ট্রোল যা ব্যবহারকারীর কাছ থেকে ইনপুট গ্রহণ করতে ব্যবহৃত হয়। এটি একটি server-side control, যার ফলে কোড-বিহাইন্ড ফাইলে এর ভ্যালু programmatically অ্যাক্সেস করা যায়।
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:TextBox ID="txtEmail" runat="server" TextMode="Email"></asp:TextBox>
Button কন্ট্রোলটি ইউজারের ইন্টারঅ্যাকশনের জন্য খুব গুরুত্বপূর্ণ। এটি একটি ইভেন্ট তৈরি করে যেমন, Click ইভেন্ট, যা কোড-বিহাইন্ড ফাইলে কার্যকরী হয়। এই কন্ট্রোলটি ব্যবহার করে ইউজার ইন্টারঅ্যাকশনগুলিকে কার্যকর করা যায়।
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
protected void btnSubmit_Click(object sender, EventArgs e)
{
lblMessage.Text = "Submitted Successfully!";
}
Label কন্ট্রোলটি UI তে তথ্য প্রদর্শন করতে ব্যবহৃত হয়। এটি শুধুমাত্র রিড-অনলি (read-only) টেক্সট প্রদর্শন করে এবং ইউজার থেকে ইনপুট নেয় না।
<asp:Label ID="lblMessage" runat="server" Text="Hello, World!"></asp:Label>
<asp:Label ID="lblError" runat="server" Text="Please enter a valid email address" ForeColor="Red" Visible="False"></asp:Label>
DropDownList একটি select কন্ট্রোল যা ব্যবহারকারীদের একটি ড্রপডাউন থেকে বিকল্প নির্বাচন করতে দেয়। এটি ডাটা বাইন্ডিং এবং নির্বাচিত মানের জন্য খুব উপযোগী।
<asp:DropDownList ID="ddlCountry" runat="server">
<asp:ListItem Text="Select Country" Value="" />
<asp:ListItem Text="Bangladesh" Value="BD" />
<asp:ListItem Text="India" Value="IN" />
</asp:DropDownList>
<asp:DropDownList ID="ddlFruit" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlFruit_SelectedIndexChanged">
<asp:ListItem Text="Select Fruit" Value="" />
<asp:ListItem Text="Apple" Value="1" />
<asp:ListItem Text="Banana" Value="2" />
</asp:DropDownList>
protected void ddlFruit_SelectedIndexChanged(object sender, EventArgs e)
{
lblSelectedFruit.Text = "You selected: " + ddlFruit.SelectedItem.Text;
}
CheckBox কন্ট্রোলটি একটি টিক চিহ্ন (tick mark) প্রদর্শন করে এবং ব্যবহারকারীদের একটি বা একাধিক অপশন নির্বাচন করার সুযোগ দেয়।
<asp:CheckBox ID="chkAgree" runat="server" Text="I agree to the terms and conditions" />
if (chkAgree.Checked)
{
lblMessage.Text = "You agreed to the terms.";
}
else
{
lblMessage.Text = "You must agree to the terms.";
}
ASP.NET Web Forms এ Web Server Controls হল এমন কন্ট্রোলস যা server-side processing এর মাধ্যমে ডাইনামিক ওয়েব অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। এই কন্ট্রোলসগুলি ইভেন্ট হ্যান্ডলিং, ডাটা বাইন্ডিং এবং স্টেট ম্যানেজমেন্টের জন্য ব্যবহৃত হয়, যা অ্যাপ্লিকেশনকে আরও কার্যকরী এবং ইন্টারঅ্যাকটিভ করে তোলে। TextBox, Button, Label, DropDownList, এবং অন্যান্য কন্ট্রোলস ওয়েব অ্যাপ্লিকেশনের বিভিন্ন প্রয়োজন মেটাতে সহায়তা করে।
ASP.NET Web Forms এ Data-bound Controls এমন কন্ট্রোলস যা ডেটাবেস বা অন্য কোনো ডেটা সোর্স থেকে ডেটা বাইন্ড করে ওয়েব পেজে প্রদর্শন করতে ব্যবহৃত হয়। এই কন্ট্রোলস ডেটা ডিসপ্লে এবং data binding প্রক্রিয়া সহজ করে তোলে। GridView, Repeater, এবং DataList হলো এমন কিছু জনপ্রিয় Data-bound Controls, যা ডেটা প্রদর্শন করতে ব্যবহৃত হয়।
GridView হলো সবচেয়ে জনপ্রিয় এবং শক্তিশালী ডেটা-বাইন্ড কন্ট্রোল, যা বড় এবং জটিল ডেটাসেটগুলিকে টেবিল আকারে প্রদর্শন করে। এটি ডেটার ওপর বিভিন্ন ধরনের অপারেশন যেমন edit, delete, update, paging ইত্যাদি সাপোর্ট করে।
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="True" DataSourceID="SqlDataSource1">
</asp:GridView>
এখানে, SqlDataSource1 একটি ডেটা সোর্স যা GridView কে ডেটা প্রদান করবে।
Repeater কন্ট্রোল ডেটা প্রদর্শনের জন্য সবচেয়ে লাইটওয়েট এবং কাস্টমাইজড কন্ট্রোল। এটি ডেটার প্রতিটি আইটেমকে কাস্টম টেমপ্লেটের মাধ্যমে পুনরাবৃত্তি করে দেখায়। Repeater সাধারণত ছোট এবং স্বতন্ত্র ডেটাসেটগুলো প্রদর্শন করতে ব্যবহৃত হয়।
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
<ItemTemplate>
<div><%# Eval("ColumnName") %></div>
</ItemTemplate>
</asp:Repeater>
এখানে, ColumnName হল ডেটাবেসের কলামের নাম, এবং SqlDataSource1 হল ডেটা সোর্স।
DataList কন্ট্রোল একটি লিস্ট ভিত্তিক ডেটা-বাইন্ড কন্ট্রোল, যা ডেটা তালিকা হিসেবে উপস্থাপন করে। এটি Repeater এর মতো, তবে এতে কিছু অতিরিক্ত বৈশিষ্ট্য রয়েছে, যেমন layout options এবং selection অপশন।
<asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1">
<ItemTemplate>
<div><%# Eval("ColumnName") %></div>
</ItemTemplate>
</asp:DataList>
এখানে, ColumnName ডেটাবেসের কলামের নাম এবং SqlDataSource1 হল ডেটা সোর্স।
বৈশিষ্ট্য | GridView | Repeater | DataList |
---|---|---|---|
ব্যবহার | বড় ডেটাসেট, পেজিং, সোর্টিং, এডিটিং | ছোট ডেটাসেট, কাস্টমাইজড ডিসপ্লে | ছোট ডেটাসেট, কাস্টম লেআউট |
ডেটা অপারেশন | Edit, Delete, Update, Paging | কাস্টম অপারেশন প্রয়োজন | কাস্টম লেআউট এবং সিলেকশন |
পেজিনেশন | সাপোর্ট করে | সাপোর্ট করে না | সাপোর্ট করে না |
কাস্টমাইজেশন | অনেক কাস্টমাইজেশন সাপোর্ট করে | পূর্ণ কাস্টমাইজেশন সাপোর্ট করে | কিছুটা কাস্টমাইজেশন সাপোর্ট করে |
পারফরম্যান্স | বড় ডেটাসেটের জন্য অপটিমাইজড | ছোট ডেটাসেটের জন্য দ্রুত | ছোট ডেটাসেটের জন্য দ্রুত |
GridView, Repeater, এবং DataList তিনটি জনপ্রিয় Data-bound controls, যা ডেটা বাইন্ডিং এবং ডিসপ্লে করার জন্য ব্যবহৃত হয়। GridView বড় ডেটাসেটের জন্য উপযুক্ত, যেখানে Repeater এবং DataList ছোট এবং কাস্টম লেআউট ডেটা ডিসপ্লে করার জন্য আদর্শ। এগুলির মধ্যে পার্থক্যগুলো জানতে পারলে সঠিক কন্ট্রোল নির্বাচন করা সহজ হয়।
ASP.NET Web Forms এ Validation Controls ব্যবহার করা হয় ইউজারের ইনপুট ডেটা যাচাই করার জন্য, যাতে শুধুমাত্র বৈধ তথ্য গ্রহণ করা হয়। এগুলি ইউজারের ইনপুটের ভুলগুলো ধরতে সহায়তা করে এবং ব্যবহারকারীর কাছে সঠিক বার্তা প্রদর্শন করে। এগুলোর মাধ্যমে আপনি server-side validation (সার্ভারে পরীক্ষা করা) করতে পারেন, যা client-side validation এর তুলনায় আরো নিরাপদ।
ASP.NET Web Forms এ বিভিন্ন ধরনের Validation Controls রয়েছে, যেমন RequiredFieldValidator, RangeValidator, RegularExpressionValidator, CompareValidator, CustomValidator, এবং ValidationSummary।
RequiredFieldValidator কন্ট্রোলটি ইউজারের ইনপুট নিশ্চিত করে যে একটি নির্দিষ্ট ফিল্ডে কোনো মান প্রদান করা হয়েছে। এটি মূলত ফর্মের জন্য অত্যন্ত গুরুত্বপূর্ণ যেগুলোতে একটি নির্দিষ্ট ইনপুট ফিল্ড (যেমন নাম, ইমেইল বা পাসওয়ার্ড) ফাঁকা রাখা যেতে পারে না।
ব্যবহার:
<asp:TextBox ID="txtName" runat="server" />
<asp:RequiredFieldValidator
ID="rfvName"
runat="server"
ControlToValidate="txtName"
ErrorMessage="Name is required."
ForeColor="Red" />
এখানে, rfvName কন্ট্রোলটি txtName (TextBox) কন্ট্রোলটির জন্য ইনপুট যাচাই করবে এবং যদি ফিল্ড ফাঁকা থাকে তবে ErrorMessage প্রদর্শন করবে।
RangeValidator কন্ট্রোলটি একটি নির্দিষ্ট মানের পরিসরে ইনপুট যাচাই করে। এটি সাধারণত numerical data (যেমন বয়স, সংখ্যা) যাচাই করতে ব্যবহার করা হয়, যাতে তা নির্ধারিত পরিসরের বাইরে না যায়।
ব্যবহার:
<asp:TextBox ID="txtAge" runat="server" />
<asp:RangeValidator
ID="rvAge"
runat="server"
ControlToValidate="txtAge"
MinimumValue="18"
MaximumValue="99"
Type="Integer"
ErrorMessage="Age must be between 18 and 99."
ForeColor="Red" />
এখানে, rvAge কন্ট্রোলটি txtAge ইনপুট ফিল্ডের বয়স যাচাই করবে এবং তা 18 এবং 99 এর মধ্যে থাকতে হবে। অন্যথায়, ErrorMessage প্রদর্শন করবে।
RegularExpressionValidator কন্ট্রোলটি ইউজারের ইনপুট যাচাই করার জন্য regular expressions ব্যবহার করে। এটি বিশেষত ইমেইল, ফোন নম্বর, পাসওয়ার্ড ইত্যাদি ফরম্যাট যাচাই করতে ব্যবহৃত হয়।
ব্যবহার:
<asp:TextBox ID="txtEmail" runat="server" />
<asp:RegularExpressionValidator
ID="revEmail"
runat="server"
ControlToValidate="txtEmail"
ValidationExpression="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
ErrorMessage="Please enter a valid email address."
ForeColor="Red" />
এখানে, revEmail কন্ট্রোলটি txtEmail ইনপুটের জন্য একটি বৈধ ইমেইল ঠিকানা যাচাই করবে।
CompareValidator কন্ট্রোলটি দুটি ইনপুটের মান তুলনা করে, যেমন পাসওয়ার্ড এবং কনফার্ম পাসওয়ার্ড। এটি সাধারণত দুটি ইনপুট ফিল্ডের মধ্যে মিল রেখে যাচাই করতে ব্যবহৃত হয়।
ব্যবহার:
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password" />
<asp:TextBox ID="txtConfirmPassword" runat="server" TextMode="Password" />
<asp:CompareValidator
ID="cvPassword"
runat="server"
ControlToValidate="txtConfirmPassword"
ControlToCompare="txtPassword"
ErrorMessage="Passwords do not match."
ForeColor="Red" />
এখানে, cvPassword কন্ট্রোলটি txtPassword এবং txtConfirmPassword এর মান তুলনা করবে এবং যদি তারা মিলে না যায়, একটি ত্রুটি বার্তা প্রদর্শন করবে।
CustomValidator কন্ট্রোলটি ইউজারের ইনপুট যাচাই করার জন্য কাস্টম কোড ব্যবহার করতে দেয়। এর মাধ্যমে আপনি আপনার নিজস্ব যাচাই ফাংশন তৈরি করতে পারেন, যা আপনার অ্যাপ্লিকেশনের প্রয়োজন অনুযায়ী কাজ করবে।
ব্যবহার:
<asp:TextBox ID="txtPhone" runat="server" />
<asp:CustomValidator
ID="cvPhone"
runat="server"
ControlToValidate="txtPhone"
OnServerValidate="PhoneValidator"
ErrorMessage="Invalid phone number."
ForeColor="Red" />
Code-behind (C#):
protected void PhoneValidator(object source, ServerValidateEventArgs args)
{
// Custom validation logic (e.g., validate phone number format)
if (args.Value.Length == 10 && args.Value.All(char.IsDigit))
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}
এখানে, PhoneValidator ফাংশনটি txtPhone ইনপুটের ফোন নম্বর যাচাই করবে এবং এটি যদি সঠিক হয় তবে ভ্যালিডেশন সফল হবে, অন্যথায় ত্রুটি বার্তা প্রদর্শন হবে।
ValidationSummary কন্ট্রোলটি সমস্ত ভ্যালিডেশন কন্ট্রোলের ত্রুটি বার্তা একত্রিত করে প্রদর্শন করে। এটি সাধারণত একটি পেজের উপরের দিকে একটি সন্নিবেশিত ত্রুটি বার্তা হিসেবে দেখানো হয়।
ব্যবহার:
<asp:ValidationSummary
ID="vsSummary"
runat="server"
ShowSummary="true"
ShowMessageBox="false"
HeaderText="Please correct the following errors:"
ForeColor="Red" />
এখানে, vsSummary কন্ট্রোলটি সমস্ত ভ্যালিডেশন কন্ট্রোলের ত্রুটি বার্তা একত্রিত করবে এবং পেজের উপর একটি সারাংশ হিসেবে প্রদর্শন করবে।
ASP.NET Web Forms এ Validation Controls ইউজারের ইনপুট যাচাই করতে অত্যন্ত কার্যকরী এবং সুরক্ষিত উপায়। এগুলি ব্যবহার করে আপনি আপনার ওয়েব অ্যাপ্লিকেশনের ডেটা ভ্যালিডেশন সহজ করতে পারবেন এবং ইউজারকে ত্রুটি বার্তা প্রদর্শন করতে পারবেন যাতে সঠিক ইনপুট সংগ্রহ করা যায়।
ASP.NET Web Forms এ User Controls এবং Custom Controls দুটি গুরুত্বপূর্ণ কনসেপ্ট যা ডেভেলপারদের পুনরায় ব্যবহৃত উপাদান তৈরি করতে সহায়তা করে। এগুলি ব্যবহার করে আপনি আপনার অ্যাপ্লিকেশনের জন্য কাস্টমাইজড UI কন্ট্রোল তৈরি করতে পারবেন, যা সহজে পুনরায় ব্যবহারযোগ্য এবং রক্ষণাবেক্ষণযোগ্য।
User Controls হলো ASP.NET এর একটি রিয়ুজেবল কন্ট্রোল যা একটি .ascx ফাইল হিসেবে তৈরি হয়। এটি বিভিন্ন UI কন্ট্রোল এবং কাস্টম লজিক সংবলিত একটি কমপ্লিট ব্লক। User Controls সাধারণত পেজে include করা হয় এবং একাধিক পেজে পুনরায় ব্যবহার করা যেতে পারে।
Right-click
করুন আপনার প্রজেক্টে > Add > New Item > Web User Control > এটি একটি .ascx ফাইল তৈরি করবে।উদাহরণ:
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
উদাহরণ:
protected void btnSubmit_Click(object sender, EventArgs e)
{
string userName = txtUserName.Text;
Response.Write("Hello, " + userName);
}
উদাহরণ:
<%@ Register Src="~/Controls/MyUserControl.ascx" TagPrefix="uc" TagName="MyUserControl" %>
<uc:MyUserControl ID="UserControl1" runat="server" />
Custom Controls হলো আরও বেশি কাস্টমাইজড কন্ট্রোল, যা ASP.NET এর ফ্রেমওয়ার্কের অংশ হিসেবে তৈরি করা হয়। এগুলি server-side controls এর মতো কাজ করে এবং সম্পূর্ণ নতুন কন্ট্রোল তৈরি করতে সাহায্য করে, যা সাধারণত UI controls এর বাইরে আরও বেশি লজিক, স্টাইল বা কার্যকারিতা থাকতে পারে। Custom Controls .cs বা .vb ফাইলে তৈরি হয় এবং এগুলি সাধারণত কন্ট্রোল লাইব্রেরি হিসেবে ব্যবহার করা হয়।
উদাহরণ:
public class MyCustomControl : WebControl
{
protected override void Render(HtmlTextWriter writer)
{
writer.Write("<h3>Welcome to My Custom Control!</h3>");
}
}
উদাহরণ:
<%@ Register TagPrefix="cc" TagName="MyCustomControl" Src="~/Controls/MyCustomControl.cs" %>
<cc:MyCustomControl ID="customControl1" runat="server" />
উদাহরণ:
[Bindable(true)]
public string Title
{
get { return (string)ViewState["Title"]; }
set { ViewState["Title"] = value; }
}
Feature | User Control | Custom Control |
---|---|---|
Type | .ascx ফাইল | .cs বা .vb ফাইল |
Customization | সীমিত, তবে সহজ ব্যবহারযোগ্য | পূর্ণ কাস্টমাইজেশন সম্ভব |
Reusability | একাধিক পেজে ব্যবহার করা যায় | একাধিক অ্যাপ্লিকেশনে ব্যবহৃত হতে পারে |
Control Type | ASP.NET কন্ট্রোলের গ্রুপ | সম্পূর্ণ কাস্টম কন্ট্রোল |
Complexity | তুলনামূলক সহজ | বেশি জটিল এবং কাস্টম প্রোপার্টি |
User Controls এবং Custom Controls উভয়ই ASP.NET Web Forms এ ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে কার্যকরী এবং শক্তিশালী উপাদান। যদি আপনার প্রয়োজন হয় একটি সহজ এবং পুনরায় ব্যবহারযোগ্য UI কন্ট্রোল তৈরি করার, তবে User Control ব্যবহার করুন। তবে, যদি আপনি আরও জটিল বা কাস্টম কার্যকারিতা বা স্টাইলের কন্ট্রোল তৈরি করতে চান, তবে Custom Control একটি সেরা অপশন হতে পারে।
common.read_more