• 0

كيف أملأ قائمة منسدلة من قاعدة البيانات في ASP.Net MVC؟

ما هي الطريقة لأستطيع تعبئة قائمة منسدلة DropDownListFor من بيانات جدول في قاعدة البيانات باستخدام DataSet؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 1

تأخذ القائمة المنسدلة DropDownListFor في ASP.Net MVC Razor متغير من نوع IEnumerable لذلك عند تعبئة القائمة المنسدلة يجب أن تمرر لها متغير من نوع IEnumerable يحوي على البيانات التي قمت بجلبها من قاعدة البيانات ولعمل ذلك أنشئ Model Class المقابل للجدول في قاعدة البيانات كما في المثال التالي:

public class Student
    {
        private String studenId;

        public String StudentId
        {
            get { return studenId; }
            set { studenId = value; }
        }

        private String name;

        public String Name
        {
            get { return name; }
            set { name = value; }
        }
}

ثم أنشئ متغير من نوع IEnumerable كما في المثال التالي:

   IEnumerable<Student> lstStudents;

        public IEnumerable<Student> LstStudents
        {
            get { return lstStudents; }
            set { lstStudents = value; }
        }

ثم أنشئ دالة تقوم بجلب البيانات من جدول Student باستخدام DataSet كما في المثال التالي (يجب أن تقوم بإنشاء صف SQLHelper ليعالج عمليات الاستعلام من قاعدة البيانات):

  public IEnumerable<Student> getStudents()
        {
            SQLHelper mySqlHelper = new SQLHelper();
            SqlDataAdapter da = null;
            DataSet ds = null;
            String sql = "";
            sql = @"SELECT ID, StudentId, Name  FROM Student Order By Id";
            mySqlHelper.executeSql(sql, ref ds, ref da);
            if (ds != null)
            {
                List<Student> ls = new List<Student>();
                foreach (DataRow row in ds.Tables[0].Rows)
                {
                    ls.Add(
                        new Student
                        {
                            Id= int.Parse(row["StudentId"].ToString()),
                            Name = row["Name"].ToString(),
                           
                        });


                }

                LstStudents = ls;
            }
            return LstStudents;
        }

الآن مرر الـمتغير للقائمة المنسدلة في الصفحة التي تأخذ الـ Model Class Student:

     @Html.DropDownListFor(model => model.Student.StudentId, new SelectList(Model.Student.LstStudents, "Id", "Name"), "Select Main Student")

 

بالتوفيق

تمّ تعديل بواسطة Lujain

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن