PageRequestManagerServerErrorException

PageRequestManagerServerErrorException

我正在尝试解决并非我创建的项目中的一些错误。但是我找不到的问题是:

Error: Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 500

我有一个菜单,当我点击其中一项时,我想加载数据。

protected void menu_MenuItemClick(object sender, MenuEventArgs e)
{

List<extList> lstEH = ehs.getList(ll_id, e.Item.Value).ToList();

            if (lstEH.Count > 0)
            {
                btnExtern.Visible = false;
            }
            dvExtern.DataSource = lstEH;
            dvExtern.DataBind();
}

我要获取的数据来自数据库,我为其调用服务

public IQueryable<externeH> getList(int ll_id, string type)
        {
            try
            {
                queryE =
                    from eh in db.exth
                    from teh in db.types
                    from k in db.kla
                    where eh.TypesExterneHulp_id == teh.Id
                          && teh.Naam == type
                          && eh.ll_id == ll_id
                          && eh.Klas_id == k.Id
                    orderby eh.DatumBegin, eh.Uitleg descending
                    select eh;
            }
            catch
            {
                return null;
            }
            return queryE;
}

有时是 运行,有时不是。它总是在单击第一个菜单项时。但是当我尝试调试它时没有问题。然后就ok了

数据绑定在 gridview 上

<asp:GridView ID="dvExterneHulp" runat="server" AutoGenerateColumns="False" GridLines="None" AlternatingRowStyle-CssClass="odd" AllowPaging="true" CssClass="mGrid niceTable"
                                             OnRowDataBound="dvExterneHulp_DataBound"
                                            PagerStyle-CssClass="pgr" OnPageIndexChanging="gv_PageIndexChanging">

我在网上查了一下,原因可能有很多。我检查了 "post" 并获得了一个 ID。菜单项 1 在数据库中通常有 2 个结果。

编辑:我试图找出到底哪里出了问题。似乎是在行 dvExtern.Databind();接近确切的问题..

编辑 2:我不确定,但是当我有一个像 1/01/0001 0:00:00 这样的日期时会发生错误。在本地主机上它总是空的(不在 gridview 中)。

问题是日期。数据库中的值为 01/01/0001。但是如果要运行这段代码,好像有点问题。

protected void dvEH_DataBound(object sender,GridViewRowEventArgs e)
    {


            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                string datum = functies.converteerDatum(Convert.ToDateTime(e.Row.Cells[5].Text));
                if (datum == "01/01/1")
                {
                    e.Row.Cells[5].Text = "";
                }
                else
                {
                    e.Row.Cells[5].Text = datum;
                }
            }

问题是由无效的日期转换引起的。

我在转换日期之前通过检查解决了它

if(e.Row.Cells[5].Text == "01/01/0001 00:00:00")
{
 //SHOW NOTHING
}
else
{
 //DO CONVERT
}