Asp.net 没有执行正确的程序?
我在页面加载中调用了Asp.net 没有执行正确的程序?,asp.net,sql-server,c#-4.0,stored-procedures,Asp.net,Sql Server,C# 4.0,Stored Procedures,我在页面加载中调用了getRaderWiseLiftingRecords()方法。如果调试,则直接转到此方法。当执行getChickSaledDueReport()方法时,它将执行母版页登录详细信息过程。这里“dtletradereport”获取登录详细信息。为什么需要另一个细节 最后,我得到一个异常,如“DataBinding:'System.Data.DataRowView'不包含名为'name'的属性…” 请帮帮我 public void GettraderwiseLiftingRecor
getRaderWiseLiftingRecords()
方法。如果调试,则直接转到此方法。当执行getChickSaledDueReport()
方法时,它将执行母版页登录详细信息过程。这里“dtletradereport”获取登录详细信息。为什么需要另一个细节
最后,我得到一个异常,如“DataBinding:'System.Data.DataRowView'不包含名为'name'的属性…”
请帮帮我
public void GettraderwiseLiftingRecords()
{
DataTable dtLEtraderReport = new DataTable();
dtLEtraderReport.Clear();
dtLEtraderReport = objhatcheryBAL.GetchicksaledueReport();
GVTraderdueReport.DataSource = dtLEtraderReport;
GVTraderdueReport.DataBind();
}
尝试使用:
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中,当遇到错误时,有时调试器似乎会分离并继续显示页面。这就是为什么它会进入你的登录页面。这是页面加载失败后的下一步。因此,服务器已转到下一个页面加载事件。您的(空)catch块使您更难看到(和调试)此问题的真正原因 关于“数据绑定:'System.Data.DataRowView'”的错误。。。可能是因为页面具有绑定到列/元素“name”的datagrid(或其他绑定属性)。使用编辑器在.aspx页面中搜索“name”。然后调试绑定到它的代码。确保结果集中有一列“Name”。否则,请在数据网格中注释掉该列(或任何称之为数据绑定的数据),以确认我所说的内容 (因为您更新了代码)很好,您删除了空的catch块。
我看不到datagrid背后的源,但您的错误消息是,您的数据集不包含列“Name”,但datagrid需要列“Name”。
根据@Dilip的回复链(如下),听起来您的母版页上可能有一个数据绑定字段,错误就在那里。这就解释了为什么这个错误会在任何时候的任何地方出现
查看第二段代码,如果会话过期,这些代码都不会运行。如果母版页有datagrid(或其他数据绑定字段),则可能会出现错误,因为没有要绑定的数据。请检查SQL存储过程,我确信返回的查询将包含转义列,如ID、名称等
还要检查“GVTraderdueReport”的属性它是否还有SQL查询的转义字符字段/属性。您可能在过程中给出了错误的列名。请再次检查它,如果它不起作用,请回答我,我可以建议更多内容。请提供GetChickSaledDueReport()的代码。看起来您还没有完全定义问题。编辑您的问题并添加它将是一个好主意。请看,它有时会得到正确的值。但有时“登录”详细信息如果您在页面中使用任何ajax控件,请先删除它或注释,然后在没有它们的情况下尝试。您似乎有两个问题“为什么需要另一个详细信息”以及您收到的错误。首先,对于错误,您应该发布您的aspx页面,并提及GetChickSaledDueReport()返回的内容(如果可能,请使用结构)。对于第一个问题,您必须提及预期的内容,GetChickSaledDueReport()的内容是什么函数。这样人们就可以提供更合适的答案。对catch块有很好的建议!原始代码吞没了识别问题所需的信息。mate,这是一个示例方法。我们将错误记录在这里。请将其注释掉。感谢重播dilip…如果我给出了错误的列名,你是对的…但某个时候也是一样过程是正常执行的..但有时我会遇到此异常您可以在设计时在datagrid中定义任何列吗?此异常不仅出现在此过程中,也不仅出现在此页面..完整的应用程序遇到此异常..母版页我们在单个过程中使用登录凭据..我认为可能会发生..您在母版页并在其他页中使用,这可能会冲突,所以您可以从母版页中删除此类依赖项并将其放在不同的页上。
var data = new DataTable();
using (var connection = new SqlConnection(connection.ConnectionString))
{
var command = new SqlCommand("K_HM_GetChickamounttogrid");
command.CommandType = System.Data.CommandType.StoredProcedure;
command.Connection = connection;
var dataAdaptor = new SqlDataAdapter(command);
connection.Open();
try
{
dataAdaptor.Fill(data);
}
catch (Exception e)
{
this.LogError(e);
}
}
return data;