我在使用AJAX.I向控制器发送多个参数时遇到一些问题,我想将模型列表和按钮名称(字符串)传递给我的控制器。
jQuery:
function PostForm(buttonname) {
$.ajax({
url: "/ControllerName/ViewName",
type: "POST",
dataType: "application/JSON",
data:
JSON.stringify({
listOfObjects = $('#form').serialize(),
button : buttonname
})
});
};局部视图:
<input name="buttonname" value="Name" onClick="PostForm('Name')" />控制器:
[HttpPost]
public ActionResult ViewName(List<MyObject> listOfObjects ,string button)
{
//Obj should now contain the list of objects and button name
}单击按钮时,我获得了按钮名称的值,但列表对象的计数为0。
如何将具有不同数据类型的多个参数传递给MVC方法?
非常感谢您的想法和建议!谢谢!
发布于 2013-06-19 19:11:57
我找到解决方案了。
function PostForm(buttonname) {
var data = $('#form').serialize();
var finaldata = data + "&buttonclicked="+buttonname;
$.ajax({
url: "/ControllerName/ViewName",
type: "POST",
data: finaldata ,
success: success function(){},
error : error function(){}
});
};局部视图:
<input name="buttonname" value="Name" onClick="PostForm('Name')" />控制器:
HttpPost
public ActionResult ViewName(List<MyObject> listOfObjects ,string buttonclicked)
{
//Obj should now contain the list of objects and button name
}问题是我在controller.Thats中使用相同的名称作为按钮名称和POST方法的输入参数,为什么我会得到所有按钮名称的列表。Neways现在可以工作了..
谢谢你的帮助!
发布于 2013-06-18 15:44:03
函数PostForm(按钮名称){
$.ajax({
url: "/ControllerName/ViewName",
type: "POST",
dataType: "application/JSON",
data: JSON.stringify($('#form').serialize())
});};
[HttpPost]
public ActionResult ViewName(FormCollection formCollection)
{
// use formCollection["yourcontrol"] to get your post value
}发布于 2013-06-18 15:49:25
试试这个:
查看:
function PostForm(buttonname) {
$.ajax({
url: "/ControllerName/ViewName",
type: "POST",
dataType: "application/JSON",
data: { listOfObjects: data: $('#Form').serilize(), button: buttonname },
JSON.stringify({
listOfObjects = $('#form').serialize(),
button : buttonname
})
});
};控制器:
[HttpPost]
public ActionResult ViewName(MyObject[] listOfObjects ,string button)
{
}https://stackoverflow.com/questions/17163146
复制相似问题