我需要在TextBox中找到一个值,该值包含在一个包含短日期的FormView中。
DateTime LastPayDate = (DateTime)FormView1.FindControl("user_last_payment_date");
我收到错误:
CS0030: Cannot convert type 'System.Web.UI.Control' to 'System.DateTime'
而且,我不知道如何以相同的格式返回值。我会喜欢一些帮助,把我的头发拉出来并留下他们的头发。
由于
答案 0 :(得分:2)
您的代码中存在错误,因为您尝试直接在日期时间转换控件,因此要解决错误,您需要在文本框控件中转换控件,而不是在datetime中转换文本,如下所示
DateTime LastPayDate = Convert.ToDateTime(
((System.Web.UI.WebControls.TextBox)
FormView1.FindControl("user_last_payment_date")).Text);
答案 1 :(得分:2)
FindControl
将返回Control
,而不是控件的内容。
TextBox textBox = (TextBox)FormView1.FindControl("user_last_payment_date");
DateTime LastPayDate = DateTime.Parse(textBox.Text);
答案 2 :(得分: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
}
答案 3 :(得分:1)
我不确定这会编译,但会给你线索
DateTime LastPayDate = DateTime.Parse( (TextBox)FormView1.FindControl("user_last_payment_date")).Text );