السماح بكتابة الأرقام فقط في TextBox في ASP.Net

5

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

لنفترض أن مربع النص لدينا في صفحة الكود سورس كما يلي:

<asp:TextBox ID="txtAge" runat="server" />

علينا إنشاء دالة بالجافاسكريبت وليكن اسمها مثلا CheckNumeric()
  

  <script type="text/javascript">
        function CheckNumeric() {
            if ((event.keyCode < 48 || event.keyCode > 57)) {
                event.returnValue = false;
            }
        }
    </script>

الدالة CheckNumeric() تتحقق من مجال الأزرار المضغوطة فإن كان ترميزها في نظام ASCII أصغر من 48 أو أكبر من 57، أي أنه لا ينتمي إلى مجال الأرقام من 0 إلى 9 (لأن ترميز ASCII للأرقام يبدأ من 48 وينتهي ب 57) يقوم بإلغاء عملية الكتابة، وفي حال العكس (أي إدخال قيم رقمية)  سيسمح بالكتابة.
بعدها في الحدث onkeypress التابع لمربع النص نقوم باستدعاء الدالة التي قمنا بإنشائها:

<asp:TextBox ID="txtAge" runat="server" onkeypress="CheckNumeric()" />

الآن قم بتجربة الكتابة في مربع النص، ستلاحظ بأنه صار لا يسمح سوى بإدخال القيم الرقمية.

يمكنك العودة إلى جدول ترميز ASCII للاستفاضة في التمثيل الرقمي لكل رمز من رموز لوحة المفاتيح من الرابط التالي:

http://www.asciitable.com/

التعليقات

  1. وفقك الله لكل خير أخي خالد
    أريد بعض المراجع الشاملة في ASP.Net مكتوبة أو مرئية وبأي لغة وعلى رأسها سيدة اللغات.
    المهم ان يكون شاملا وبتدرج منطقي من البداية حتى الاحتراف.
    ولك من جزيل الشكر ومن الله جزيل الثواب.

    ردحذف
  2. جزاك الله خيرا ولكن لو حضرتك ممكن شرح كامل سواء كتاب او فيديو لasp.net سواء webform او mvc

    ردحذف
  3. معي مشكله ممكن حل لها
    Boolean is for storing economically in SQL
    Database. But the datagridview when using datasource function in C# just show true or false by the checkbox each row.

    I want to display the string value in the datagridview, not Boolean using checkbox .

    True = "Spin On" False = "Element" How can I change the checkbox to a string value?
    ارجوا الرد اخي الكريم

    ردحذف
  4. لوسمحتوا اريد لكتابه احرف فقط ولكتابه ايميل فقط

    ردحذف
  5. مرحباً سيداتي وسادتي ، هل أنتم بحاجة إلى مساعدة مالية؟ أنا سوزان بنسون. أنا مُقرض ومستشار مالي أيضًا.

    هل تحتاج إلى قرض تجاري أو قرض شخصي أو قرض عقاري أو قرض لإكمال مشروعك؟ إذا كانت إجابتك نعم ، فإنني أوصيك بالاتصال بشركتي. نقدم جميع أنواع خدمات القروض بما في ذلك القروض طويلة الأجل وقصيرة الأجل. لمزيد من المعلومات ، راسلنا عبر البريد الإلكتروني: (sunshinefinancialgroupinc@gmail.com) أو راسلني مباشرة على WhatsApp عبر: 00447903159998 واستقبل ردًا في الحال.

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

    فيما يلي بعض الأسباب التي تجعلك تتصل بنا للحصول على قرض ؛
    * الراحة - يمكنك التقدم بطلب للحصول على قرض في أي وقت وفي أي مكان.
    * المبلغ المرن - أنت من يقرر المبلغ الذي تريد اقتراضه.
    * التمويل المباشر السريع - احصل على قرضك في غضون 24 ساعة بعد الموافقة.
    * معدل فائدة مرن - سعر فائدة مناسب 3٪.
    * معدلات موافقة عالية
    * السداد المرن - لديك الفرصة لاختيار تاريخ السداد ، سواء أسبوعيًا أو شهريًا أو سنويًا لمدة تتراوح من 1 إلى 30 عامًا.
    * تطبيق بسيط عبر الإنترنت.
    * التوجيه الشخصي والخبرة.
    * أي رسوم خفية

    لا تخسر فرصة بسبب نقص الأموال. اتصل بشركتي الآن ، يمكننا مساعدتك في الحصول على قرض لأننا ساعدنا العديد من الأفراد والمؤسسات الذين واجهوا صعوبات مالية في جميع أنحاء العالم

    لمزيد من المعلومات حول عرض القرض الخاص بنا ، يرجى إرسال طلب القرض إلينا من خلال عنوان البريد الإلكتروني هذا sunshinefinancialgroupinc@gmail.com أو على WhatsApp عبر 447903159998+

    الوسطاء / المستشارون / السماسرة مدعوون لجلب عملائهم وهم محميون بنسبة 100٪. في ثقة تامة ، سنعمل معًا لصالح جميع الأطراف المعنية.

    ردحذف