阅读DateTime字段时出现问题

时间:2013-10-01 13:03:47

标签: asp.net sql-server datetime gridview

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

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

        }
    }

并插入到我的数据库的Date type字段中! 现在我正在尝试在Grid视图上创建我的表的视图。在我的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;



        }


    }

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:2)

Date属性与其他属性一起分配为公共内容:

public DateTime Date {get; set;}

您可能希望将get;set;分别修改为私有。

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