我试图解决我没有创建的项目中的一些错误。但我无法找到问题的是:
错误:Sys.WebForms.PageRequestManagerServerErrorException:在服务器上处理请求时发生未知错误。从服务器返回的状态代码是: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;
}
有时会运行,有时它不会运行。总是在点击第一个菜单项时。但是当我试图调试它时没有问题。没关系。
数据在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">
我在互联网上搜索,但可能有很多原因。我检查了&#34;帖子&#34;它得到了一个id。菜单项1的DB通常有2个结果。
编辑:我试图找出哪里出了问题。似乎它在dvExtern.Databind()行;更接近确切的问题..编辑2:我不确定,但是当我有一个像1/01/0001 0:00:00这样的日期时会发生错误。在localhost上它始终为空(不在gridview中)。
问题是日期。 DB中的值为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;
}
}
答案 0 :(得分:0)
问题是由无效的日期转换造成的。
我在转换日期之前用支票解决了它
if(e.Row.Cells[5].Text == "01/01/0001 00:00:00")
{
//SHOW NOTHING
}
else
{
//DO CONVERT
}