مشکلی که دارم در رابطه با Refresh صفحه در مسئله ی طراحی سایت است . فرض کنید که کلاس ساده ی زیر را داریم :
public class Class1
{
private string _firstName = string.Empty;
public string firstName
{
get
{
return _firstName;
}
set
{
_firstName = value;
}
}
}
در برنامه ی اصلی هم کد زیر را داریم :
public partial class _Default : System.Web.UI.Page
{
Class1 objClass1 = new Class1();
protected void Page_Load(object sender, EventArgs e)
{
if (Session["FirstLoad"] == null)
{
Session["FirstLoad"] = true;
objClass1.firstName = "Mehrnoosh";
}
Label1.Text = objClass1.firstName;
}
protected void Button1_Click(object sender, EventArgs e)
{
}
}
الان اگر برنامه را اجرا کنیم ، در Label1 نوشته شده : Mehrnoosh . خوب تا اینجا که درست است . ولی اگر دکمه ی Button1 را کلیک کنیم ، در Label1 هیچ مقداری نشان داده نخواهد شد. مشکل همین است که گفتم . البته علتش هم مشخص است . چون صفحه Refresh می شود ، بنابراین مقادیر تمام متغیرهای برنامه و متغیرهای کلاس ها را هم دوباره Refresh یا Reset کرده و به حالت مقدار پیش فرضشان در می آورد.

حال سوال من این است که با توجه به این مسئله چطور می توان در C# ، از Object Oriented استفاده کرد ؟

فقط با تمام وجود خواهش می کنم کسی در پاسخ به این سوال نگوید که می توانی از Session و یا متغیرهای Static برای نگهداری مقادیر متغیرها استفاده کنی. چون همه می دانند که اینطوری با قضیه برخورد کردن ، Object Oriented نیست.
با تشکر
