Javascript Ajax POST数据未出现在模式中

Javascript Ajax POST数据未出现在模式中,javascript,c#,sql,ajax,Javascript,C#,Sql,Ajax,我有一个由JSON数据填充的表。在最后一列中,您可以打开对应于每一行的模式,并可以在输入框中添加注释——这样做将更新该模式。换句话说,没有注释的表行具有空模式,并且至少有一条注释的行应该出现在它们对应的模式中 在我的后端管理器(SQLServerManagementStudio)中,我可以看到注释显示在那里,但它们没有出现在modals中 我不知道问题是来自JavaScript方面(视图)、模型还是其他方面 DocBudgetId的添加相对较新。在此之前,审查/评论数据与文件编号关联,信息出现在

我有一个由JSON数据填充的表。在最后一列中,您可以打开对应于每一行的模式,并可以在输入框中添加注释——这样做将更新该模式。换句话说,没有注释的表行具有空模式,并且至少有一条注释的行应该出现在它们对应的模式中

在我的后端管理器(SQLServerManagementStudio)中,我可以看到注释显示在那里,但它们没有出现在modals中

我不知道问题是来自JavaScript方面(视图)、模型还是其他方面

DocBudgetId的添加相对较新。在此之前,审查/评论数据与文件编号关联,信息出现在模态中。我怀疑我必须对DocBudgetId进行调整/更改,但我不确定如何进行

模态屏幕截图:左上角显示
DocNumber
。已对此模式所属的行进行了注释,但它们未出现在模式表中

型号: 视图: 这里的问题是“GetDocUnderReviewDetails”操作接受GET请求,并向其发送post请求。您只需更改ajax请求类型即可获得

type: "GET",
url: "/Doc/GetDocUnderReviewDetails",
我注意到的另一件事是,您在请求中也发送了docNumber,而您的操作不需要它。尽管这不会导致任何问题,但您不需要在ajax中发送该问题,这里的问题是您的“GetDocUnderReviewDetails”操作接受GET请求并向其发送post请求。您只需更改ajax请求类型即可获得

type: "GET",
url: "/Doc/GetDocUnderReviewDetails",

我注意到的另一件事是,您在请求中也发送了docNumber,而您的操作不需要它。尽管这不会引起任何问题,但您不需要在ajax更新中发送它:我做了一些修补,得到了要显示的表数据

在存储过程(
GetDocUnderReviewDetails.cs
)中,我注释掉了行
where DocBudgetId=@DocBudgetId
,并添加了
where DocNumber=@DocNumber
。我注意到,如果我只是注释掉了
where DBI=
,那么它显示了对每个模态的所有注释,这是我之前处理的问题

现在,我的存储过程如下所示:

namespace BB360
{
    public partial class Sql
    {
        public const string GetDocUnderReviewDetails = @"

        select 
            DocBudgetId, 
            DocNumber, 
            ReviewBy, 
            convert(varchar, ReviewOn, 101) as ReviewOn, 
            isnull(ReviewComment, '') as ReviewComment 
            from DocBudgetReview 
            --where DocBudgetId = @DocBudgetId
            where DocNumber = @DocNumber
            order by ReviewOn desc   
        ";
    }
}
我还向控制器添加了
字符串docNumber

public ActionResult GetDocUnderReviewDetails(Guid docBudgetId, string docNumber)
        {
            var data = Common.GetBBDbExecutor().Query<BudgetReportingViewModel.ReviewRow>(Sql.GetDocUnderReviewDetails, new {
                docBudgetId,
                docNumber
            }).ToList();


            return Json(data);
        }
公共操作结果GetDocUnderReviewDetails(Guid docBudgetId,字符串docNumber) { var data=Common.GetBBDbExecutor().Query(Sql.GetDocUnderReviewDetails,新建{ docBudgetId, 文件编号 }).ToList(); 返回Json(数据); }
更新:我做了一些修补,得到了要显示的表数据

在存储过程(
GetDocUnderReviewDetails.cs
)中,我注释掉了行
where DocBudgetId=@DocBudgetId
,并添加了
where DocNumber=@DocNumber
。我注意到,如果我只是注释掉了
where DBI=
,那么它显示了对每个模态的所有注释,这是我之前处理的问题

现在,我的存储过程如下所示:

namespace BB360
{
    public partial class Sql
    {
        public const string GetDocUnderReviewDetails = @"

        select 
            DocBudgetId, 
            DocNumber, 
            ReviewBy, 
            convert(varchar, ReviewOn, 101) as ReviewOn, 
            isnull(ReviewComment, '') as ReviewComment 
            from DocBudgetReview 
            --where DocBudgetId = @DocBudgetId
            where DocNumber = @DocNumber
            order by ReviewOn desc   
        ";
    }
}
我还向控制器添加了
字符串docNumber

public ActionResult GetDocUnderReviewDetails(Guid docBudgetId, string docNumber)
        {
            var data = Common.GetBBDbExecutor().Query<BudgetReportingViewModel.ReviewRow>(Sql.GetDocUnderReviewDetails, new {
                docBudgetId,
                docNumber
            }).ToList();


            return Json(data);
        }
公共操作结果GetDocUnderReviewDetails(Guid docBudgetId,字符串docNumber) { var data=Common.GetBBDbExecutor().Query(Sql.GetDocUnderReviewDetails,新建{ docBudgetId, 文件编号 }).ToList(); 返回Json(数据); }
不确定是否相关,但为什么要发送docNumber和docBudgetId,因为服务器端在控制器方法中只接受docBudgetId,您正在接受Guid参数并将数据作为字符串传递,所以请确保Guid为字符串。不确定是否相关,但是为什么要发送docNumber和docBudgetId呢?因为服务器端在您的控制器方法中只接受docBudgetId,您接受的是Guid参数,并且您将数据作为字符串传递,所以将Guid设置为string.Hi@manvinder singh。这绝对是一个POST请求(即使url名称中有
Get
),并且DocNumber显示在模式的顶部,因此可以轻松识别。文件编号正确地显示在那里。嗨,曼文德·辛格。这绝对是一个POST请求(即使url名称中有
Get
),并且DocNumber显示在模式的顶部,因此可以轻松识别。文档编号正确地显示在那里。
public ActionResult GetDocUnderReviewDetails(Guid docBudgetId, string docNumber)
        {
            var data = Common.GetBBDbExecutor().Query<BudgetReportingViewModel.ReviewRow>(Sql.GetDocUnderReviewDetails, new {
                docBudgetId,
                docNumber
            }).ToList();


            return Json(data);
        }