2013-10-01 3 views
1

У меня есть текстовое поле, которое показывает дату системыВыпуск в поле считывания DateTime

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

     } 
    } 

и получает вставляется в поле типа Дата моей базе данных! Теперь я пытаюсь создать представление таблицы в режиме 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

возможно дубликат [недоступен из-за его уровня защиты] (http://stackoverflow.com/questions/6125077/is-inaccessible-due-to-its- уровень защиты) –

ответ

2

Назначают Date собственности как общественное рядный с другими свойствами:

public DateTime Date {get; set;}

Вы можете предпочесть изменить get; и быть частным индивидуально ,

Более подробную информацию о C# класса Свойства: http://msdn.microsoft.com/en-us/library/w86s7x04.aspx

+0

спасибо также Когда я пытаюсь получить значение даты, я получаю ошибку при конверсиях. Какие подходящие преобразования мне нужно применить? Я пробовал это: ob.Date = rdr ["Date"]. ToShortDateString(); – Vector

+1

Попробуйте 'DateTime.Parse (rdr [" Date "]. ToString());' или также посмотрите [DateTime.TryParse] (http://msdn.microsoft.com/en-us/library/system.datetime .tryparse.aspx), если вам нужно обрабатывать любые недопустимые даты. – Nunners

+0

круто! спасибо bro.Really helpfull – Vector

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

Смежные вопросы