Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 没有执行正确的程序?_Asp.net_Sql Server_C# 4.0_Stored Procedures - Fatal编程技术网

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;