C# 日历扩展程序日计算异常
这是我在calendar extender上使用ajax工具脚本编写的代码。我想计算天数,但它给出了以下例外情况 无法强制转换“AjaxControlToolkit.CalendarExtender”类型的对象 输入“System.IConvertible” 以下是计算天数的代码::C# 日历扩展程序日计算异常,c#,asp.net,C#,Asp.net,这是我在calendar extender上使用ajax工具脚本编写的代码。我想计算天数,但它给出了以下例外情况 无法强制转换“AjaxControlToolkit.CalendarExtender”类型的对象 输入“System.IConvertible” 以下是计算天数的代码:: protected void Page_Load(object sender, EventArgs e) { TextBox2_CalendarExtender.StartDate = Da
protected void Page_Load(object sender, EventArgs e)
{
TextBox2_CalendarExtender.StartDate = DateTime.Now;
TextBox2_CalendarExtender.EndDate = DateTime.Now.AddDays(30);
TextBox1_CalendarExtender.StartDate = DateTime.Now.AddDays(1);
TextBox1_CalendarExtender.EndDate = DateTime.Now.AddDays(30);
}
protected void Button1_Click(object sender, EventArgs e)
{
TimeSpan days = Convert.ToDateTime(TextBox1_CalendarExtender).Subtract(Convert.ToDateTime(TextBox2_CalendarExtender));
int day = Convert.ToInt32(days.TotalDays);
Label1.Text = day.ToString();
}
这是该特定部分的asp代码::
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</asp:ToolkitScriptManager>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:CalendarExtender ID="TextBox2_CalendarExtender" runat="server"
TargetControlID="TextBox2" StartDate="<%#DateTime.Now %>" EndDate=" <%#DateTime.Now.AddDays(30) %>">
</asp:CalendarExtender>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:CalendarExtender ID="TextBox1_CalendarExtender" runat="server"
TargetControlID="TextBox1" StartDate="<%#DateTime.Now.AddDays(1) %>" EndDate="<%#DateTime.Now.AddDays(30) %>">
</asp:CalendarExtender>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
错误来自您的
Convert
方法。代码TimeSpan-days=Convert.ToDateTime(newobject()).Subtract(Convert.ToDateTime(DateTime.Now))代码>
将给出错误:
无法将“System.object”类型的对象强制转换为
“System.IConvertible”
然而,若您将新对象()更改为其中一个的有效类型,它将正常工作
在代码中,这一行
TimeSpan days = Convert.ToDateTime(TextBox1_CalendarExtender).Subtract(Convert.ToDateTime(TextBox2_CalendarExtender));
TextBox1\u CalendarExtender
和TextBox2\u CalendarExtender
需要附加StartDate
或EndDate
属性,以便它们的类型为DateTime。不需要转换,因为将DateTime转换为DateTime没有任何作用。最终看起来会像这样
TimeSpan days = TextBox1_CalendarExtender.StartDate.Subtract(TextBox2_CalendarExtender.StartDate);
在这个页面的设计模式和@user2334012中,你没有在这里发布任何asp代码,所以我真的不理解你的问题。我现在已经给出了asp代码,我仍然得到同样的异常。