14-10-12, 11:09 PM
Control state :
هي الطريقة الأسهل للاحتفاظ بالبيانات ، كل ما عليك هو تغيير القيمة EnableViewState لأي أداة حتى ولو للصفحة ككل ، في هذه الحالة القيم الموجودة في أي من أدواتك لن تتأثر وستظل محتفظة بقيمتها حتى اغلاق الصفحة .
لو فتحت ال HTML الناتج عن المتصفح لصفحة تستخدم View State ستجد الجزء التالي حيث يحتفظ ال ViewState بقيمته .
خطأ شائع :
أحياناً ما تحتاج لإن تقوم بملء محتويات قائمة لديك في حدث ال Form_Load ، اغلب الناس تستخدم الاسلوب التالي :
C#:
vb.net:
في الواقع هذه الطريقة متعبة جداً ، خصوصاً لو كان ملء القائمة يتم من خلال قاعدة البيانات !!!
الحل البديل ، هو الاعتماد على خاصية EnableViewState ، واستخدام الخاصية IsPostBack للتأكد من أننا نقوم بملأها في المرة الأولى فقط بالشكل التالي :
C#:
vb.net:
هي الطريقة الأسهل للاحتفاظ بالبيانات ، كل ما عليك هو تغيير القيمة EnableViewState لأي أداة حتى ولو للصفحة ككل ، في هذه الحالة القيم الموجودة في أي من أدواتك لن تتأثر وستظل محتفظة بقيمتها حتى اغلاق الصفحة .
لو فتحت ال HTML الناتج عن المتصفح لصفحة تستخدم View State ستجد الجزء التالي حيث يحتفظ ال ViewState بقيمته .
كود :
[color=#ff8000]<input type=[COLOR=#0000ff]"hidden"[/color] name=[color=#0000ff]"__VIEWSTATE"[/color] id=[color=#0000ff]"__VIEWSTATE"[/color] value=[color=#0000ff]"/wEPDwUKMTIxNDIyOTM0Mg9kFgICAw9kFgICAQ8PFgIeBFRleHQFBWFobWVkZGRkCq8FGqyXBP0pBDpvdnycvM5zSQE="[/color] />[/COLOR]أحياناً ما تحتاج لإن تقوم بملء محتويات قائمة لديك في حدث ال Form_Load ، اغلب الناس تستخدم الاسلوب التالي :
C#:
كود :
ListBox1.Items.Add("Ahmed");
ListBox1.Items.Add("Mohammed");
ListBox1.Items.Add("Ali");كود :
ListBox1.Items.Add("Ahmed")
ListBox1.Items.Add("Mohammed")
ListBox1.Items.Add("Ali")الحل البديل ، هو الاعتماد على خاصية EnableViewState ، واستخدام الخاصية IsPostBack للتأكد من أننا نقوم بملأها في المرة الأولى فقط بالشكل التالي :
C#:
كود :
if (!IsPostBack)
{
ListBox1.Items.Add("Ahmed");
ListBox1.Items.Add("Mohammed");
ListBox1.Items.Add("Ali");
}كود :
If Not IsPostBack Then
ListBox1.Items.Add("Ahmed")
ListBox1.Items.Add("Mohammed")
ListBox1.Items.Add("Ali")
End If