2010-07-22 43 views
2

我需要在TextBox中找到一个值,该值包含在包含短日期的FormView中。从FormView中的TextBox获取DateTime值

DateTime LastPayDate = (DateTime)FormView1.FindControl("user_last_payment_date"); 

我得到的错误:

CS0030: Cannot convert type 'System.Web.UI.Control' to 'System.DateTime' 

而且,我不知道如何把一个值返回相同的格式。会喜欢一些帮助,把我的头发拉出来,他们没有太多的剩余。

感谢

+0

解决您的错误? – 2010-07-22 10:29:35

回答

2
//If you really need to find the textbox 
    TextBox dateTextBox = 
      FormView1.FindControl("user_last_payment_date") as TextBox; 

    if(dateTextBox == null) 
    { 
     //could not locate text box 
     //throw exception? 
    } 

    DateTime date = DateTime.MinValue; 

    bool parseResult = DateTime.TryParse(dateTextBox.Text, out date); 

    if(parseResult) 
    { 
     //parse was successful, continue 
    } 
1

我不知道,这将编译,但会给你线索

DateTime LastPayDate = DateTime.Parse((TextBox)FormView1.FindControl("user_last_payment_date")).Text); 
2

有错误你的代码,因为你试图控制直接转换日期时间,所以要解决你的错误,你需要控制转换成文本框控件,比转换成文本的日期时间低于

DateTime LastPayDate = Convert.ToDateTime( 
         ((System.Web.UI.WebControls.TextBox) 
         FormView1.FindControl("user_last_payment_date")).Text); 
2

FindControl给出将返回Control,而不是控件的内容。

TextBox textBox = (TextBox)FormView1.FindControl("user_last_payment_date"); 
DateTime LastPayDate = DateTime.Parse(textBox.Text);