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
}
我正在尝试解决并非我创建的项目中的一些错误。但是我找不到的问题是:
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
}