无法将类型为“System.DateTime”的对象强制转换为类型“System.St

时间:2023-01-13 03:38:52
本来程序好好的,今天再运行结果就提示
“/bbs”应用程序中的服务器错误。
--------------------------------------------------------------------------------

无法将类型为“System.DateTime”的对象强制转换为类型“System.String”。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.InvalidCastException: 无法将类型为“System.DateTime”的对象强制转换为类型“System.String”。

源错误: 


行 51:         if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
行 52:         {
行 53:             menusmall.BindMenuSmallBig((DataList)e.Item.FindControl("dlMenuSmall"), ((Label)e.Item.FindControl("lblId")).Text);
行 54:         }
行 55:     }
 




我看了下 代码没问题啊,难道是数据库问题?求助。。。。



using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WeYyzyq.Logic;
using WeYyzyq.Comp;

public partial class _Default : System.Web.UI.Page
{
    Bbs_MenuBig menubig = new Bbs_MenuBig();
    Bbs_MenuSmall menusmall = new Bbs_MenuSmall();
    VldUsers vuser = new VldUsers();

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
            BindMenuBig();
    }

    private void BindMenuBig()
    {
        menubig.BindMenuBig(dlMenuBig);
    }
       
    protected void dlSmall_ItemCommand(object source, DataListCommandEventArgs e)
    {
        if (e.CommandName == "SendPost")
            vuser.SendPost(((Label)e.Item.FindControl("lblSmallId")).Text);
    }

    protected void dlSmall_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        #region 显示版块是否有新帖子
        if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
        {
            HtmlImage img = (HtmlImage)e.Item.FindControl("imgToday");
            Label lblToday = (Label)e.Item.FindControl("lblToday");
            img.Src = Equals(lblToday.Text, "0") ? "images/day0.gif" : "images/day1.gif";
        }
        #endregion
    }

    protected void dlMenuBig_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
        {
            menusmall.BindMenuSmallBig((DataList)e.Item.FindControl("dlMenuSmall"), ((Label)e.Item.FindControl("lblId")).Text);
        }
    }
}

4 个解决方案

#1


有人吗。。。

#2


或者说你的字段是否为日期型,而你赋值为 字符串呢,只看这几行代码看不出什么,还是仔细调试代码吧,看看 BindMenuSmallBig中做了什么

#3


这个你单步调试下找到真正的问题所在就容易找到问题,解决问题了。

#4


怀疑主要就是你方法的参数本来是该传一个string型的,然后实际你传入的是datetime类型的,还有建议楼主开帖要结贴,细节很重要。

#1


有人吗。。。

#2


或者说你的字段是否为日期型,而你赋值为 字符串呢,只看这几行代码看不出什么,还是仔细调试代码吧,看看 BindMenuSmallBig中做了什么

#3


这个你单步调试下找到真正的问题所在就容易找到问题,解决问题了。

#4


怀疑主要就是你方法的参数本来是该传一个string型的,然后实际你传入的是datetime类型的,还有建议楼主开帖要结贴,细节很重要。