اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

يمكن تشبيه الـ ViewState في ASP.Net بالمستودع repository لصفحة الويب، التي تمكنك من تخزين القيم التي تحتاج للاحتفاظ بها أثناء عملية العودة إلى السيرفر PostBack وعدم ضياعها.

لنفرض أنك قمت بتخزين مصفوفة تحوي على أسماء موظفين مثلًا وتعبئتها بقائمة منسدلة DropDownList ثم حدث أمر ما جعل الصفحة تعود للسيرفر مرة أخرى وتتحمل من جديد هنا ستفقد المعلومات المخزنة في المصفوفة لأنها ستتعرف من جديد عند تحميل الصفحة.

الحل هو استخدم ViewState وتخزين المصفوفة بها واسترجاعها عند اللزوم.

<script runat="server">
  // Sample ArrayList for the page.
  ArrayList PageArrayList;

  ArrayList CreateArray()
  {
    // Create a sample ArrayList.
    ArrayList result = new ArrayList(4);
    
    result.Add("item 1");
    result.Add("item 2");
    result.Add("item 3");
    result.Add("item 4");
    
    return result;
  }

  void Page_Load(object sender, EventArgs e)
  {
    if (ViewState["arrayListInViewState"] != null)
    {
      PageArrayList = (ArrayList)ViewState["arrayListInViewState"];
    }
    else
    {
      // ArrayList isn't in view state, so we need to load it from scratch.
      PageArrayList = CreateArray();
    }
    // Code that uses PageArrayList.
  }
    
  void Page_PreRender(object sender, EventArgs e)
  {
    // Save PageArrayList before the page is rendered.
    ViewState.Add("arrayListInViewState", PageArrayList);
  }
</script>

 

ماهي View State في ASP.Net ولم تستخدم؟

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...