النتائج 1 إلى 8 من 8

الموضوع: الدرس السادس : ما هي ال View State

  1. #1

    الدرس السادس : ما هي ال View State



    السلام عليكم

    أول شي جميعكم يعلم أنني توقفت عن الدروس لقلة الوقت

    والحمد لله لي أخت مبرمجة ( ايناس ) أبت إلا وأن يستفيد الجميع

    فقررت أن ترسل لي دروس وأنا أراجعها وأضعها لكم ولها جزيل الشكر

    لنبدأ الآن

    فماذا تعني View State وما هي أهميتها

    View State هي لحفظ بيانات الصفحة الحالية بعد طلبها من السيرفر (سيأتي الشرح )
    وبشكل أوضح سأقوم بعمل المثال التالي
    نقوم بتكوين صفحة جديدة ونضع فيها 2 textbox وButton و label كما في الصورة التالية



    ويتم تغيير الآتي في الخصائص
    TextBox1
    1- ID: firstTextBox
    TextBox2
    1- ID: secondTextBox

    Button
    1- Text: OK
    Label
    1- ID: resultLabel

    ثم ننقر نقرتين بالماوس على الزر لتفتح الصفحة الخاصة بكتابة الكود الذي سينفذ عند الضغط على الزر ونكتب الكود الأتي
    سي شارب C#
    كود:
    resultLabel .Text= firstTextBox.Text +”  “ + secondTextBox.Text ;
    فيجوال بيسك دوت نت VB.Net
    كود:
    resultLabel.Text=firstTextBox.Text & “   “ & secondTextBox.Text
    ونقوم بالتنفيذ

    وندخل قيم ونضغط على الزر وسيكون التنفيذ كالآتي




    طيب شو إنتا سويت :con2: ... ولا شي إلي بالحضانة بيعرف هذا الشي
    واصلا شو دخل View State في الموضوع

    لا تستعجلوا فأنا سأقول لكم ما هو غرضي من وراء هذا المثال

    لنبني بياناتنا على معلومة أساسية وهي
    أن Http protocol عبارة عن برتوكول stateless ومعناه أن البرتوكول المسؤول عن عملية تبادل المعلومات والتفاهم بين حهاز المستخدم والسيرفر ليس عنده القدرة على حفظ المعلومات مطلقا

    بمعنى هو يرسل من السيرفر HTML ويعود من المتسخدم فقط بما طلب منه بارجاعه
    فقط ولا يمكنه حفظ قيم الصناديق النصية والقوائم المنسدلة تلقائيا
    فكيف قام هنا بالإحتفاظ بالبيانات وعرضها


    السؤال هنا : كيف تم الإحتفاظ بقيمة التكست الأول وقيمة التكست الثاني وعرضها بعد ذهابها الى السيرفر مع العلم أنه لا يمكنه حفظ البيانات

    لغة asp.net وضعت ما يسمى بال view state لحفظ البيانات ( القيم المدخلة ) من قبل المستخدم في الصفحة الحالية فقط وللتأكد مما أقول ..يتم عمل التالي
    بعد التنفيذ يتم النقر بالزر اليمين على صفحة المتصفح واختيار View Source




    فيفتح الملف التالي :



    نلاحظ وجود حقل مخفي وبه القيم النصية

    نلاحظ أنه في كل عملية ارسال للسيرفر ستقوم الصفحة بارجاع البيانات ومن ثم استردادها مرة ثانية وفي الصفحات التي لا تلزم بها سيسبب هذا ثقل على ما يزيد الثلث في عملية التحميل لذلك يجب تعطيل الخاصية في الصفحات الغير لازمة أو في الموقع كله وتشغيلها في الصفحات اللازمة

    انتهى الدرس





    __________________
    بريدي :khalilme (at) hotmail.com
    مطور: ASP.NET, Windows Phone , Desktop Applications


  2. #2

    تاريخ التسجيل
    Jun 2006
    المشاركات
    1,370


    درس ممتاز اخي خليل بارك الله فيك وجعل فيه الفائدة





    __________________
    @_@

  3. #3
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2000
    المشاركات
    762


    جزاك الله كل خير هذا الموضوع شغلني فترة من الوقت وانت ماقصرت ووضحته

    لكن مازال عندي سؤال شاغلني بنفس الموضوع أحياناً تدخل مواقع غربيه في خانة e-mail وانت تكتب ايميلك تلاقيه سرد كل الايميلات اللي انت كاتبها فقط وفي خانت الاسم الاسماء فقط والهاتف نفس الشيء اتمنى توضيح له لاهنت





    __________________
    Eng.Fedail
    Computer and Electronics Engineer

  4. #4

    تاريخ التسجيل
    Jun 2006
    المشاركات
    1,370


    اقتباس المشاركة الأصلية كتبت بواسطة الثلج
    جزاك الله كل خير هذا الموضوع شغلني فترة من الوقت وانت ماقصرت ووضحته

    لكن مازال عندي سؤال شاغلني بنفس الموضوع أحياناً تدخل مواقع غربيه في خانة e-mail وانت تكتب ايميلك تلاقيه سرد كل الايميلات اللي انت كاتبها فقط وفي خانت الاسم الاسماء فقط والهاتف نفس الشيء اتمنى توضيح له لاهنت
    هلا اخوي الثلج
    بعد اذن اخي خليل بجاوبك على حسب معرفتي

    هذه خاصية لكل اداة تكست بوكس ان تحتفط على الجهاز الخاص بك بالقيم الي يتم ادخالها فيها على حسب اسمها البرمجي

    مثلا لو انت مسمي اداة اسمها البرمجي مثلا EmailBox ودخلت فيها قيمة
    رح تلاحظ انه في اي موقع اخر يكون فيها اداة اسمها البرمجي EmailBox تلاقي القيمة موجوده بها لو عملت عليها دبل كليك

    ممكن احيانا تصادف ان في بوكس الايميل لبعض المواقع تجد ان ايميلك موجود وفي مواقع اخرى لايكون موجود السبب هو الاسم البرمجي للاداة في المواقع الاولى كان متشابه

    لكي تلغي هذه الخاصية وتمنع التكست بوكس من الاحتفاظ بالقيم المدخلة بها في الاداة تكتست بوكس اختار Disabled على الخاصية الي اسمها AutoCompleteType لاداة ال TextBox





    __________________
    @_@

  5. #5
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2000
    المشاركات
    762


    جزاك الله كل خير

    وش الاسم المعتمد عند المواقع الكبيرة للأداة الظاهر لازم نشوف شفرات اغلب صفحات المواقع علشان نعتمد بس الظاهر في قياس دولي معتمد للتسميه





    __________________
    Eng.Fedail
    Computer and Electronics Engineer

  6. #6
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2000
    المشاركات
    762


    نلاحظ أنه في كل عملية ارسال للسيرفر ستقوم الصفحة بارجاع البيانات ومن ثم استردادها مرة ثانية وفي الصفحات التي لا تلزم بها سيسبب هذا ثقل على ما يزيد الثلث في عملية التحميل لذلك يجب تعطيل الخاصية في الصفحات الغير لازمة أو في الموقع كله وتشغيلها في الصفحات اللازمة
    هل هي طريقة ايقافه
    EnableViewState="false"
    وهل هو متبع لدى كل المبرمجين ام انه نصيحه وهل له مشاكل مع باقي الأداوات والمقاييس





    __________________
    Eng.Fedail
    Computer and Electronics Engineer

  7. #7
    عضو سوبر نشيط
    تاريخ التسجيل
    Mar 2000
    المشاركات
    762


    <div>
    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE4MjYwNzkyMzNkZCA2Xaap7bHu1zMepEoOnf5Kn4d5" />
    </div>
    حتى مع هالطريقة مازال الـ hashing - hideing موجود لكن صغر حجمه

    رأيكم مطلوب لاهنتم





    __________________
    Eng.Fedail
    Computer and Electronics Engineer

  8. #8


    تفضل

    وهذا طلبك

    Disabling Viewstate
    Viewstate applies to many types of controls, not just the HTML form controls. For example if you set the text or content of a <span> or <div> element that contains the runat="server" attribute in your server-side code, this will be maintained across postbacks by default, using the viewstate. Likewise, the complete contents of a DataGrid control placed on a server-side <form> will be persisted.

    However, there are often occasions where we don't actually need the viewstate to be persisted between postbacks. In these cases, the processing needed to generate it, decode it upon postback, and pass it twice across the network can be avoided by disabling it. For a complete page, including all the controls on it, we can add an instruction to the Page directive:

    <&#37;@Page Language="VB" EnableViewstate="False" %>

    Some content is always stored in the hidden control named "__VIEWSTATE", even when iewstate is turned off for the page as a whole. This is the encoded representation of the ontrol hierarchy, which is used to ensure that the page is correctly posted to the same one as t was generated by, in order to give some protection against a user spoofing the server by ubmitting a different page.

    If viewstate is disabled in the Page directive, it cannot be 'turned back on' for individual controls. However, e can leave viewstate enabled for the page as a whole, and then selectively disable it for individual controls o limit the viewstate size:

    <span id="status" enableviewstate="false" runat="server" />

    For 'status' elements, perhaps an <asp:Label>, <span> or <div> that you use to display interactive essages or feedback, be sure to add the enableviewstate="false" attribute so that the existing values re removed when the page is regenerated on the server each time.





    __________________
    بريدي :khalilme (at) hotmail.com
    مطور: ASP.NET, Windows Phone , Desktop Applications





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض