gpt4 book ai didi

asp.net - 没有执行正确的程序?

转载 作者:行者123 更新时间:2023-12-02 08:35:50 25 4
gpt4 key购买 nike

public void GettraderwiseLiftingRecords()
{

DataTable dtLEtraderReport = new DataTable();
dtLEtraderReport.Clear();
dtLEtraderReport = objhatcheryBAL.GetchicksaledueReport();
GVTraderdueReport.DataSource = dtLEtraderReport;
GVTraderdueReport.DataBind();
}

我在页面加载时调用了 GettraderwiseLiftingRecords() 方法。如果调试它直接进入这个方法。当执行 GetchicksaledueReport() 方法时,它会执行母版页登录详细信息过程。此处“dtLEtraderReport”获取登录详细信息。为什么它需要另一个细节?

最后我得到一个异常,如“DataBinding:‘System.Data.DataRowView’不包含名为‘name’的属性”......

请帮帮我...

if (HttpContext.Current.User != null)
{
if (Session["username"] != null)
{
string pageName = Page.Page.AppRelativeVirtualPath.Substring(Page.Page.AppRelativeVirtualPath.LastIndexOf('/') + 1);
DataTable dtFeatures5 = new DataTable();
dtFeatures5.Clear();
////da = new SqlDataAdapter("Exec Sp_GetUserModuleFeatures '" + Session["UserType"].ToString() + "'", con);
////da.Fill(dtFeatures);
objMatermenuPL.usertype = Session["UserType"].ToString();
dtFeatures5 = objMastermenuBAL.GetMastermenu(objMatermenuPL);

DataView dt = new DataView(dtFeatures5);
dt.Sort = "fld_feature ASC";

if (dtFeatures5 != null)
{
}
}
}

最佳答案

在 ASP.NET 中,当遇到错误时,有时调试器似乎会分离并继续显示页面。这就是它进入您的登录页面的原因。这是 page_load 失败后的下一步。所以服务器已经转移到下一个页面加载事件。您的(空)catch block 使您更难查看(和调试)此问题的真正原因。

有关“DataBinding: 'System.Data.DataRowView'”的错误...可能是因为您的页面具有绑定(bind)到列/元素“名称”的数据网格(或其他绑定(bind)属性)。使用编辑器在.aspx 页面中搜索“名称”。然后调试绑定(bind)到它的代码。确保结果集中有一列“名称”。否则,注释掉数据网格中的该列(或调用它的任何数据绑定(bind)),以确认我在说什么。

(因为你更新了你的代码)很好,你删除了空的 catch block 。
我看不到你的数据网格背后的来源,但你的错误消息是说你的数据集不包含“名称”列,但你的数据网格需要一个“名称”列。
根据您与@Dilip 的回复链(如下),听起来您的母版页上可能有一个数据绑定(bind)字段并且错误就在那里。这可以解释为什么这个错误可能随时随地出现。

查看您的第二个代码块,如果您的 session 过期,则这些代码都不会运行。如果您的母版页有数据网格(或其他数据绑定(bind)字段),您可能会收到错误消息,因为没有要绑定(bind)的数据。

关于asp.net - 没有执行正确的程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21603231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com