获取列表web方法并在列表框中显示数据

本文关键字:列表 显示 数据 web 方法 获取 | 更新日期: 2023-09-27 17:54:13

我试图在asp.net的列表框中显示日期。我有下面的web方法和它的工作时输入学生ID。我如何在我的页面中调用这个web方法来显示列表框中的日期。

 [WebMethod]
                public List<Attendance> StudentAttendance(int SID)
                {
                    List<Attendance> listofAttendance = new List<Attendance>();
                    cn.Open();
                    SqlCommand com = new SqlCommand("SELECT * FROM tblAttendance WHERE StudentID = " + SID +"", cn);
                    SqlDataReader sr = com.ExecuteReader();
                    while (sr.Read())
                    {
                        Attendance getdattendance = new Attendance();
                        getdattendance.ID = sr.GetInt32(0);
                        getdattendance.StudentID = sr.GetInt32(1);
                        getdattendance.RegistrationDate = sr.GetDateTime(2);
                        listofAttendance.Add(getdattendance);
                    }
                    sr.Close();
                    cn.Close();
                    return listofAttendance;
                }

显示日期在列表框

 protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["UserAuthentication"] != null)
            {
               Student s = (Student)Session["UserAuthentication"];
                Attendance[] a = attend.StudentAttendance(s.StudentID);
                ListBox1.Text = display list of dates with the following format  ("dd MMM yyyy"
            //  lbAttendance.Text = a.RegistrationDate.Date.ToString("dd MMM yyyy", System.Globalization.CultureInfo.InstalledUICulture);
            }
            else
            {
                Response.Redirect("Index.aspx");
            }

        }

获取列表web方法并在列表框中显示数据

您需要像这样修改web方法中的注册日期格式。

 getdattendance.RegistrationDate =Convert.ToDateTime(sr.GetDateTime(2).ToString("dd MM yyyy"));

然后在页面加载中,你需要将列表框绑定到考勤列表。

List<Attendance> attendances = attend.StudentAttendance(s.StudentID); ;
listbox1.DataSource = attendances;
listbox1.DataValueField = "Id";
listbox1.DataTextField = "RegistrationDate";
listbox1.DataBind();