2010-07-22 81 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);