1

我有一个显示系统日期的文本框

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            TextBoxdate.Text = DateTime.Today.ToShortDateString();

        }
    }

并被插入到我的数据库的日期类型字段中!现在我正在尝试在网格视图上创建我的表的视图。在我的 WorkDataAccesslayer 类中,我正在检索表的值。但是在检索日期时出错,即“WorkAssign.Date 由于其保护级别而无法访问”

我的 WorkAssign 课程如下:

 public class Workassign
{ 

    public string listItem_1{get; set;} 
    public string listItem_2{get ; set;} 
    public string Description {get ; set;} 
    DateTime Date {get; set;}
    public string Image { get; set; }

}

我的 WorkDataAccessLayer 类如下:

public class WorkDataAccessLayer
{

    public static List<Workassign> GetTable()
    {
        List<Workassign> listValues = new List<Workassign>();

        string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
        SqlConnection con = new SqlConnection(CS);
        {
            SqlCommand cmd = new SqlCommand("Select * from Assign_Work", con);
            con.Open();
            SqlDataReader rdr = cmd.ExecuteReader();

            while (rdr.Read())
            {
                Workassign ob = new Workassign();
                ob.listItem_1 =rdr["listitem_1"].ToString() ;
                ob.listItem_2 = rdr["listitem_2"].ToString();
                ob.Description = rdr["Description"].ToString();
                ob.Date = rdr["Date"].ToString();
                ob.Image = rdr["Image"].ToString();


                listValues.Add(ob);

            }


            return listValues;



        }


    }
4

2 回答 2

2

也做public

public class Workassign
{ 

    public string listItem_1{get; set;} 
    public string listItem_2{get ; set;} 
    public string Description {get ; set;} 
    public DateTime Date {get; set;}  // default is internal
    public string Image { get; set; }

}

否则,您会在以下位置收到上述错误:

Workassign ob = new Workassign();
// ...
ob.Date = rdr["Date"].ToString();

http://msdn.microsoft.com/en-us/library/ms173121.aspx

于 2013-10-01T13:08:24.303 回答
2

Date属性分配为与其他属性内联的公共:

public DateTime Date {get; set;}

您可能更愿意将get;set;单独修改为私有。

有关 C# 类属性的更多信息:http: //msdn.microsoft.com/en-us/library/w86s7x04.aspx

于 2013-10-01T13:08:50.677 回答