ASP.NET Web Forms পেজের জন্য একটি নির্দিষ্ট Page Lifecycle থাকে, যা কয়েকটি গুরুত্বপূর্ণ ধাপের মাধ্যমে সম্পন্ন হয়। এই ধাপগুলোতে বিভিন্ন page events ট্রিগার হয়, যেমন Init, Load, PreRender, এবং Unload। প্রতিটি ইভেন্ট পেজের একটি নির্দিষ্ট অংশে কার্যকরী হয় এবং ডেভেলপারদের তাদের অ্যাপ্লিকেশন কন্ট্রোল এবং কার্যকারিতা নির্ধারণ করতে সহায়তা করে।
Init ইভেন্টটি পেজের প্রথম ধাপে ঘটে, যখন পেজটি শুরু হয় এবং তার কন্ট্রোলগুলো ইনিশিয়ালাইজ করা হয়। এই ধাপে পেজের সব কন্ট্রোল (যেমন, TextBox, Button, GridView ইত্যাদি) create এবং initialize করা হয়, কিন্তু কন্ট্রোলগুলোর properties ডেটা এখনও লোড হয় না।
এই ইভেন্টের ব্যবহার:
কোড উদাহরণ:
protected void Page_Init(object sender, EventArgs e)
{
// কন্ট্রোল ইনিশিয়ালাইজেশন
Label1.Text = "Welcome to the page!";
}
Load ইভেন্টটি Init এর পর ঘটে, যখন পেজ এবং তার কন্ট্রোলগুলি ক্লায়েন্টে লোড হয়। এই ধাপে পেজের properties (যেমন TextBox এর টেক্সট বা GridView এর ডেটা) লোড হয় এবং এটি সার্ভারের মধ্যে প্রক্রিয়া হয়। এটি সাধারণত ইউজারের ইনপুট ডেটা গ্রহণের জন্য ব্যবহৃত হয়।
এই ইভেন্টের ব্যবহার:
কোড উদাহরণ:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// ডেটাবেস থেকে ডেটা লোড করা
GridView1.DataSource = GetData();
GridView1.DataBind();
}
}
PreRender ইভেন্টটি Load এর পর ঘটে, কিন্তু এটি রেন্ডারিংয়ের আগে। এই ধাপে পেজ এবং কন্ট্রোলের শেষ মুহূর্তের পরিবর্তন সম্পন্ন হয় এবং পেজের HTML তৈরি হতে শুরু করে। PreRender ইভেন্টে যেসব পরিবর্তন করা হয় তা ক্লায়েন্ট ব্রাউজারে রেন্ডার হওয়ার আগে হয়, তাই এই ধাপে কন্ট্রোলগুলোর উপর ফাইনাল সেটিংস করা হয়।
এই ইভেন্টের ব্যবহার:
কোড উদাহরণ:
protected void Page_PreRender(object sender, EventArgs e)
{
// কন্ট্রোলের স্টাইল পরিবর্তন করা
if (GridView1.Rows.Count > 0)
{
GridView1.ForeColor = System.Drawing.Color.Red;
}
}
Unload ইভেন্টটি পেজের জীবনের শেষ ধাপে ঘটে, যখন পেজের প্রক্রিয়া সম্পন্ন হয়ে যায় এবং সমস্ত রিসোর্স ক্লিয়ার করা হয়। এটি garbage collection এর অংশ হিসেবে কাজ করে, যেখানে মেমরি থেকে অব্যবহৃত রিসোর্স মুক্ত করা হয়।
এই ইভেন্টের ব্যবহার:
কোড উদাহরণ:
protected void Page_Unload(object sender, EventArgs e)
{
// রিসোর্স ক্লিয়ার করা
// কোনো ডেটাবেস সংযোগ বন্ধ করা অথবা ফাইল স্ট্রিম বন্ধ করা
}
প্রতিটি ইভেন্টের কাজ একে অপরের সাথে সংযুক্ত থাকে এবং Page Lifecycle এর মাধ্যমে পেজের প্রতিটি ধাপ পরিচালিত হয়। এই ইভেন্টগুলোতে ডেভেলপাররা তাদের ওয়েব পেজের কার্যকারিতা এবং ইউজার ইন্টারফেস নিয়ন্ত্রণ করতে পারেন।
কোনো ইভেন্টে কি কাজ করা উচিত?
এই ইভেন্টগুলোর সঠিক ব্যবহার ওয়েব পেজের কার্যকারিতা এবং পারফরম্যান্স বৃদ্ধিতে সহায়তা করে।
common.read_more