2

短い日付を保持するFormView内に含まれるTextBoxで値を見つける必要があります。

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

エラーが発生します:

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

そして、同じ形式で値を戻す方法がわかりません。私の髪を抜いて、彼らがあまり残っていないので、助けが欲しいです。

ありがとう

4

4 に答える 4

2

コントロールを日時に直接変換しようとしているため、コードにエラーがあります。エラーを解決するには、テキストボックスコントロールでコントロールを変換し、次に示すように日時にテキストを変換する必要があります。

 DateTime LastPayDate = Convert.ToDateTime( 
                      ((System.Web.UI.WebControls.TextBox)  
                       FormView1.FindControl("user_last_payment_date")).Text);
于 2010-07-22T09:57:29.680 に答える
2

FindControlControlコントロールの内容ではなく、を返します。

TextBox textBox = (TextBox)FormView1.FindControl("user_last_payment_date");
DateTime LastPayDate = DateTime.Parse(textBox.Text);
于 2010-07-22T09:58:07.883 に答える
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
    }
于 2010-07-22T09:58:26.353 に答える
1

これがコンパイルされるかどうかはわかりませんが、手がかりが得られます

DateTime LastPayDate = DateTime.Parse( (TextBox)FormView1.FindControl("user_last_payment_date")).Text );
于 2010-07-22T09:56:55.730 に答える