كيفية جلب قيمة CheckBox من صفحة ASP.NET وتخزينها في قاعدة البيانات؟


التعليقات

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

على أية حال بالنسبة لأي إدخال قيم كونترول من الواجهة إلى الكود الخلفي يمكنك من خلال الأحداث Event حاول استخدام حدث النقر أو تغير القيمة وفي الكود سيحضر لك البارمترات لتتعامل معها

أشكرك أخي على تقديرك، واعتراضي ليس من قبيل أني تضايقت، وإنما لهذا الاعتراض له وجهان:

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

الثاني: هذا التمييز قد يجعل في نفس الآخرين شيء وأنا لا أحب أن أكون طرفاً وسبباً في ذلك.

بالنسبة للإجابة:

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

    protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
    {
        var state = (sender as CheckBox).Checked;
        SqlCommand cmd = new SqlCommand($"INSERT INTO Register values({state})", conn);
    }

ملاحظة إذا ظهر لك خطأ في السينتاكس عند أمر السيكوال فربما لأنك لا تستخدم الاصدار السادس من 6.0 #C والذي يأتي مع اصدار فيجوال 2015

حينها استخدم الصيغة القديمة لحشر متغير داخل سترينغ مثل الذي استخدمه الأخ محمد النجار في إجابته

لما استعملت sender في event

هل في asp لا يمكن استعمال اسماء كنترول مباشرة؟؟

ال sender هو الكائن الذي ولد الحدث أيا كان اسمه فهنا أنت وصلت للكائن ولست بحاجة لاسمه للتعامل معه.

String value;

    if(chk_ar.Checked)
    value=chk_ar.Text;
    SqlCommand cmd = new SqlCommand("INSERT INTO Register values('" + value + "')", conn);

سي شارب #C

مجتمع للمهتمين بلغة البرمجة سي شارب #C سيحوي مواضيع و روابط و تقنيات و أخبار و تلميحات و نصائح و مهارات و أي أمور أخرى تتعلق بهذه اللغة.

2.48 ألف متابع