C# 日历扩展程序日计算异常

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

这是我在calendar extender上使用ajax工具脚本编写的代码。我想计算天数,但它给出了以下例外情况

无法强制转换“AjaxControlToolkit.CalendarExtender”类型的对象 输入“System.IConvertible”

以下是计算天数的代码::

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代码,我仍然得到同样的异常。