Javascript 如何将从jQuery创建的数组传递给控制器方法?
我的问题可能是重复的。但是,我没有将返回的值从视图中获取到控制器中 正如链接中定义的,我为返回的值定义了一个模型 但不同的是,我并没有为此使用AJAX调用。我使用以下stmt获取一行的值,并将其转换为一个值数组:Javascript 如何将从jQuery创建的数组传递给控制器方法?,javascript,arrays,asp.net-mvc-4,view,controller,Javascript,Arrays,Asp.net Mvc 4,View,Controller,我的问题可能是重复的。但是,我没有将返回的值从视图中获取到控制器中 正如链接中定义的,我为返回的值定义了一个模型 但不同的是,我并没有为此使用AJAX调用。我使用以下stmt获取一行的值,并将其转换为一个值数组: var arrayOf = $(currentSelected).get(0); var partialView = ('@Url.Action("PartialView")' + '/' + arrayOf); 这里partialView正确地指向了我的控制器方法,
var arrayOf = $(currentSelected).get(0);
var partialView = ('@Url.Action("PartialView")' + '/' + arrayOf);
这里partialView正确地指向了我的控制器方法,并且控制传递到那里
但是,尽管“arrayOf”中的值正确,我所在的数组(在控制器中)始终显示为null,并且我无法继续
这是我的控制器:
public ActionResult PartialView(ChildColumns[] arrayOf) /*arrayOf is always null, WHY*/
{
//stmts
return PartialView("ChildPartialView");
}
这里的ChildColumns是具有所有相关字段的模型。我将使用ajax调用,正如CM Kanode所提到的。差不多
$.ajax({
url: "@(Url.Action("PartialView", "Controller")",
type: "POST",
data: arrayOf
cache: false,
async: true,
success: function (result) {
$(".divContent").html(result);
}
});
razor代码将首先在服务器上执行,然后将该信息传递到javascript将执行的页面。如果您确实想要将javascript数组传递给部分视图,那么听起来您需要使用Ajax,否则,首先执行partialview。success:function(result)??结果是什么?在我的例子中,controller方法将实际返回一个局部视图。是的,这就是您想要的。这将采用该局部视图,并将其放入您想要的任何容器中。(在我的示例中class=divContent)我的控制器很好?。。。我应该继续使用它吗?是的,您没有将模型传递给局部视图,但可能不需要。看起来不错。但是如果我想退回一个模型,我该怎么办?