ASP.NET Web Forms পেজের লাইফসাইকেল হল বিভিন্ন ধাপের একটি সিরিজ যা একটি পেজের প্রারম্ভিক লোডিং থেকে শুরু করে ক্লায়েন্ট ব্রাউজারে রেন্ডার এবং তার পরবর্তী ব্যবহারের জন্য প্রস্তুত হওয়া পর্যন্ত চলে। এই লাইফসাইকেলের প্রতিটি ধাপ একটি নির্দিষ্ট কাজ সম্পাদন করে, যার মাধ্যমে পেজের ইনিশিয়ালাইজেশন, ডেটা প্রক্রিয়াকরণ, ইভেন্ট হ্যান্ডলিং, এবং রেন্ডারিং হয়।
ASP.NET Web Forms পেজের লাইফসাইকেল সাধারণত নিম্নলিখিত ধাপগুলির মাধ্যমে চলে:
1. Initialization (Init)
এই ধাপে, পেজ এবং তার কন্ট্রোল (যেমন TextBox, Button, DropDownList ইত্যাদি) গুলি ইনিশিয়ালাইজ করা হয়। অর্থাৎ, প্রতিটি কন্ট্রোলের ID সেট করা হয় এবং কন্ট্রোলের প্রাথমিক অবস্থান নির্ধারণ করা হয়। তবে এই ধাপে কন্ট্রোলগুলোর ভ্যালু বা প্রপার্টি আসলেই লোড হয় না, কেবল কন্ট্রোল তৈরি হয়।
- কাজ: কন্ট্রোলের ID সেট করা, কন্ট্রোলের অবস্থা ঠিক করা।
- উদাহরণ:
Label1.ID = "lblName";
2. Load
এই ধাপে, ASP.NET পেজ এবং এর কন্ট্রোলগুলোর সব ডেটা পেজের সাথে লোড করা হয়। যদি পেজটি Postback না হয়, তবে পেজের প্রথমবার লোড হওয়ার সময় কন্ট্রোলগুলোর ডিফল্ট ভ্যালু লোড হয়। যদি পেজটি Postback হয়, তবে আগের সেশন বা ব্যবহারকারীর ইনপুট থেকে ডেটা লোড করা হয়।
- কাজ: কন্ট্রোলের ডেটা লোড করা এবং ইভেন্ট হ্যান্ডলিং প্রস্তুত করা।
- উদাহরণ: যদি ব্যবহারকারী ফর্মে কিছু ইনপুট দেয়, তবে এটি লোড হয়ে আসবে।
3. Postback Event Handling
এই ধাপটি শুধুমাত্র তখনই ঘটে, যখন পেজে কোনো Postback (অর্থাৎ, পেজটি আবার সাবমিট করা বা একটি ইভেন্ট ট্রিগার করা) হয়। এই সময়, পূর্ববর্তী সেশনের ডেটা আবার লোড হয় এবং পেজের ইভেন্টগুলির জন্য এবং হ্যান্ডলিং করা হয় (যেমন বাটনে ক্লিক করা, ড্রপডাউন লিস্ট নির্বাচন করা ইত্যাদি)।
- কাজ: ইভেন্ট হ্যান্ডলিং (যেমন বাটনে ক্লিক করলে কোড চালানো) এবং ডেটা পুনরায় লোড করা।
- উদাহরণ:
Button1_Clickইভেন্ট।
4. Rendering
এই ধাপে, পেজের সমস্ত কন্ট্রোলের HTML কোডে রূপান্তরিত হয়ে ব্রাউজারে পাঠানো হয়। প্রতিটি কন্ট্রোলের Render মেথড কল করা হয় এবং এটি HTML ট্যাগগুলিতে রূপান্তরিত হয়ে ব্রাউজারে পাঠানো হয়। এই ধাপে, কোড বিহাইন্ড থেকে UI কোডে (যেমন HTML, JavaScript) রূপান্তর ঘটে।
- কাজ: কন্ট্রোলের HTML আউটপুট তৈরি করা এবং ক্লায়েন্ট ব্রাউজারে পাঠানো।
- উদাহরণ:
<input type="text" id="TextBox1" />
5. Unload
পেজের জীবনের শেষ ধাপে Unload ঘটে। এখানে পেজের সমস্ত রিসোর্স এবং মেমরি ক্লিয়ার করা হয়। এই ধাপে পেজের কোনো কার্যকরী কাজ করা হয় না, তবে পেজের সাথে সম্পর্কিত সব রিসোর্স এবং অবজেক্ট বন্ধ করা হয়।
- কাজ: মেমরি এবং রিসোর্স মুক্ত করা।
- উদাহরণ: কোডের কোন ফাইল বন্ধ বা সেশন ক্লিয়ার করা।
Postback এবং Non-Postback
- Postback: যখন পেজটি পুনরায় সার্ভারে রিকোয়েস্ট পাঠায়, যেমন একটি বাটনে ক্লিক করার পর পেজের রিফ্রেশ হওয়া।
- Non-Postback: প্রথমবার পেজটি লোড হওয়া, বা পেজের কোনো ইন্টারঅ্যাকশন ছাড়াই ব্রাউজারে পেজটি প্রদর্শিত হওয়া।
Page Lifecycle এর গুরুত্বপূর্ণ বিষয়সমূহ
- ViewState: এই ধাপে ViewState সেভ করা হয়, যা ব্যবহারকারীর ডেটা পেজের লাইফসাইকেল জুড়ে সংরক্ষিত রাখে। এটি ক্লায়েন্ট সাইডে hidden field হিসেবে থাকে।
- Event Handlers: পেজ লাইফসাইকেল চলাকালীন Button_Click বা TextChanged এর মতো ইভেন্টগুলির জন্য কোড এক্সিকিউট হয়।
সারাংশ
ASP.NET Web Forms এর পেজ লাইফসাইকেল একটি নির্দিষ্ট স্টেপ অনুসরণ করে এবং প্রতিটি ধাপে একটি নির্দিষ্ট কাজ সম্পাদন করা হয়, যা পেজের ডেটা লোডিং, ইভেন্ট হ্যান্ডলিং, রেন্ডারিং এবং রিসোর্স ম্যানেজমেন্ট সহ একটি পূর্ণাঙ্গ কাজ সম্পন্ন করে। এই লাইফসাইকেল ধাপগুলি বুঝে, ডেভেলপাররা ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে আরো কার্যকরীভাবে কাজ করতে পারেন।
Read more