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

السؤال

Recommended Posts

  • 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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...