Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
对MVC控制器的JQuery调用返回HTML以注入表行_Jquery_Asp.net Mvc - Fatal编程技术网

对MVC控制器的JQuery调用返回HTML以注入表行

对MVC控制器的JQuery调用返回HTML以注入表行,jquery,asp.net-mvc,Jquery,Asp.net Mvc,我有一个包含数据的webgrid 每个数据项都可能有多个变量。 Apon单击行上的图标,我将触发一个ajax调用,以获取所选行的变体,然后偷偷地将它们插入webgrid行 这在将静态测试数据注入行时起作用,但是我已经设置了一个部分视图来呈现内容,我希望通过jquery返回该视图,并简单地插入呈现的html JS 我似乎只得到了[object object] 有人能发现我做错了什么吗?请这样做,而不是返回: $(document).on("click", ".ShowVariants", func

我有一个包含数据的webgrid

每个数据项都可能有多个变量。 Apon单击行上的图标,我将触发一个ajax调用,以获取所选行的变体,然后偷偷地将它们插入webgrid行

这在将静态测试数据注入行时起作用,但是我已经设置了一个部分视图来呈现内容,我希望通过jquery返回该视图,并简单地插入呈现的html

JS

我似乎只得到了
[object object]


有人能发现我做错了什么吗?

请这样做,而不是返回:

$(document).on("click", ".ShowVariants", function (e) {
 var clickedElement = this;
 if ($(this).hasClass("Opened")) {
   $(this).removeClass("Opened");
   var tr = $(this).closest("tr").html();
   var dd = $(this).closest("table").parent().html();
   $(this).closest("table").parent().parent().html(tr)
  }
 else {
  $.get("/Release/GetVariants", 
     { 
      "releaseId": $(this).attr("data-id") 
     },
     function (data) 
     {
        var tr = $(clickedElement ).closest("tr").html();
        $(clickedElement ).closest("tr").html("<td colspan='7' style='/*padding-left:5px*/'><table><tr>" + tr + "</tr><tr><td colspan='7'>" + data+ "</td></tr></table></td>");
     }
     );


   }

});
$(文档)。在(“单击”、“显示变量”上,函数(e){
var clickedElement=this;
if($(this).hasClass(“打开”)){
$(此).removeClass(“打开”);
var tr=$(this.closest(“tr”).html();
var dd=$(this).closest(“表”).parent().html();
$(this).closest(“表”).parent().parent().html(tr)
}
否则{
$.get(“/Release/GetVariants”,
{ 
“releaseId”:$(this.attr(“数据id”)
},
功能(数据)
{
var tr=$(clickedElement.closest(“tr”).html();
$(clickedElement.closest(“tr”).html(“+tr+”+data+”);
}
);
}
});

您需要在ajax回调中进行操作;此时,您已从服务器返回结果:

var that = $(this);
$.get("/Release/GetVariants", { "releaseId": $(this).attr("data-id") },function (data) {
    var table = data; 
    var tr = that.closest("tr").html();       
    that.closest("tr").html("<td colspan='7' style='/*padding-left:5px*/'><table><tr>" + tr + "</tr><tr><td colspan='7'>" + table + "</td></tr></table></td>");
});
var that=$(this);
$.get(“/Release/GetVariants”,{“releaseId”:$(this.attr(“data id”)},函数(data){
var表=数据;
var tr=that.closest(“tr”).html();
最接近的.html(“+tr+”+table+”);
});

您的局部视图是什么样子的?当您直接从浏览器调用该局部视图时,会得到什么?
returndata.html?在ajax函数中从方法调用正确返回部分视图。我可以在Chrome开发者工具栏的网络选项卡中看到预期的结果。
$(document).on("click", ".ShowVariants", function (e) {
 var clickedElement = this;
 if ($(this).hasClass("Opened")) {
   $(this).removeClass("Opened");
   var tr = $(this).closest("tr").html();
   var dd = $(this).closest("table").parent().html();
   $(this).closest("table").parent().parent().html(tr)
  }
 else {
  $.get("/Release/GetVariants", 
     { 
      "releaseId": $(this).attr("data-id") 
     },
     function (data) 
     {
        var tr = $(clickedElement ).closest("tr").html();
        $(clickedElement ).closest("tr").html("<td colspan='7' style='/*padding-left:5px*/'><table><tr>" + tr + "</tr><tr><td colspan='7'>" + data+ "</td></tr></table></td>");
     }
     );


   }

});
var that = $(this);
$.get("/Release/GetVariants", { "releaseId": $(this).attr("data-id") },function (data) {
    var table = data; 
    var tr = that.closest("tr").html();       
    that.closest("tr").html("<td colspan='7' style='/*padding-left:5px*/'><table><tr>" + tr + "</tr><tr><td colspan='7'>" + table + "</td></tr></table></td>");
});