Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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/5/fortran/2.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
Javascript 为什么;系统索引自动失效例外“;在使用ASP.Net的ajax中对字符串发生?_Javascript_C#_Jquery_Asp.net_Ajax - Fatal编程技术网

Javascript 为什么;系统索引自动失效例外“;在使用ASP.Net的ajax中对字符串发生?

Javascript 为什么;系统索引自动失效例外“;在使用ASP.Net的ajax中对字符串发生?,javascript,c#,jquery,asp.net,ajax,Javascript,C#,Jquery,Asp.net,Ajax,事实上,如果我删除一个特定的字符串变量,我的ajax代码工作得非常好 我调用ajax,然后服务器将从SQLServer中提取一些数据并将其存储到字符串变量中。除一个变量外,每个变量都能完美返回。当我检查控制台时,它返回异常“System.IndexOutOfRangeException” 这是我的ajax代码 $('.list-of-link').on('click', 'a', function (e) { e.preventDefault();// add this line

事实上,如果我删除一个特定的
字符串
变量,我的ajax代码工作得非常好

我调用ajax,然后服务器将从SQLServer中提取一些数据并将其存储到字符串变量中。除一个变量外,每个变量都能完美返回。当我检查控制台时,它返回异常“System.IndexOutOfRangeException

这是我的ajax代码

$('.list-of-link').on('click', 'a', function (e) {
    e.preventDefault();// add this line
    alert($(this).html());
    //window.location.replace("ReportTotalSalesPivot.aspx");
    var userFileName = $(this).html();

    $.ajax({
        url: 'SavedReports.aspx/getReportDetails',
        method: 'post',
        contentType: 'application/json',
        data: '{userFileName:"' + userFileName + '"}',
        dataType:'json',
        success: function (data) {
            alert('success : ReportData = ' + data.d.ReportData);
        },
        error: function (error) {
            alert('Please Call Administrator');
        }
    })
})
WebMethod代码

[WebMethod]
    public static SavedReport getReportDetails(string userFileName)
    {
        string cs = ConfigurationManager.ConnectionStrings["HQWebMatajer13"].ConnectionString;
        using (SqlConnection con = new SqlConnection(cs))
        {
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = con;
            cmd.CommandText = "select ReportData,ReportFilter,FromDate,ToDate,SelectedData,SelectedCoulmn,SelectedRow,HiddenTableRecord ToDate FROM [HQWebMatajer].[dbo].[ReportSave] where UserID=@UserID and UserFileName=@UserFileName";
            cmd.Parameters.AddWithValue("@UserID", UserID);
            cmd.Parameters.AddWithValue("@UserFileName", userFileName);

            con.Open();

            SavedReport savedReport = new SavedReport();

            SqlDataReader rd = cmd.ExecuteReader();

            while (rd.Read())
            {
                byte[] binaryString = (byte[])rd["ReportData"];
                savedReport.ReportData = Encoding.UTF8.GetString(binaryString);

                savedReport.ReportFilter = rd["ReportFilter"].ToString();
                savedReport.FromDate = rd["FromDate"].ToString();
                savedReport.ToDate = rd["ToDate"].ToString();
                savedReport.SelectedData = rd["SelectedData"].ToString();
                savedReport.SelectedColumn = rd["SelectedCoulmn"].ToString();
                savedReport.SelectedRow = rd["SelectedRow"].ToString();
                savedReport.HiddenTableRecord = rd["HiddenTableRecord"].ToString();
            }
            return savedReport;
        }

    }
最后一个变量出现错误
HiddenTableRecord

以下记录是来自SQL Server('1001')$$$中的tq.StoreID$$的
HiddenTableRecord
的实际记录

SavedReport类别代码

public class SavedReport
{
    public string UserID { get; set; }
    public string ReportName { get; set; }
    public string UserFileName { get; set; }
    public string ReportData { get; set; }
    public string ReportFilter { get; set; }
    public string FromDate { get; set; }
    public string ToDate { get; set; }
    public string SelectedData { get; set; }
    public string SelectedColumn { get; set; }
    public string SelectedRow { get; set; }
    public string HiddenTableRecord { get; set; }
}
错误消息

{消息:“HiddenTableRecord”,…}

异常类型:“System.IndexOutOfRangeException”

消息:“HiddentTableRecord”

注意

$('.list-of-link').on('click', 'a', function (e) {
    e.preventDefault();// add this line
    alert($(this).html());
    //window.location.replace("ReportTotalSalesPivot.aspx");
    var userFileName = $(this).html();

    $.ajax({
        url: 'SavedReports.aspx/getReportDetails',
        method: 'post',
        contentType: 'application/json',
        data: '{userFileName:"' + userFileName + '"}',
        dataType:'json',
        success: function (data) {
            alert('success : ReportData = ' + data.d.ReportData);
        },
        error: function (error) {
            alert('Please Call Administrator');
        }
    })
})
如果我注释这一行
savedReport.hiddentablecord=rd[“hiddentablecord”].ToString()。错误没有发生,它返回我期望的所有记录


出现问题的原因是
SqlDataReader
不包含“hiddentablecord”

您的SqlRequest中可能存在问题(示例中HiddenTableRecord和ToDate之间缺少逗号):


“从[HQWebMatajer].[dbo].[ReportSave]中选择ReportData、ReportFilter、FromDate、ToDate、SelectedData、SelectedCoulmn、SelectedRow、HiddenTableRecordToDate,其中UserID=@UserID和UserFileName=@UserFileName;”

没有阅读任何东西,人们都会给负面评价。人们现在应该给出有效的理由我想这是你查询中的问题:
,hiddentablecordtodate
,你错过了逗号iguess@ehsansajjad倒霉。。请稍候,让我检查。@ehsansajjad正确。倒霉。我是怎么做到的。我找了一半的东西,有时会发生:)