我有一个显示系统日期的文本框
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;
}
}
答案 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();
答案 1 :(得分:2)
将Date
属性与其他属性一起分配为公共内容:
public DateTime Date {get; set;}
您可能希望将get;
和set;
分别修改为私有。
有关C#类属性的更多信息:http://msdn.microsoft.com/en-us/library/w86s7x04.aspx