POST和MVC的多个参数

时间:2009-05-05 20:08:51

标签: asp.net-mvc post jquery

确定。所以我在页面上有两个不是单一形式的元素。我需要通过JQuery.Ajax()方法将这些发布回我的控制器。现在我遇到的问题是,虽然我的参数正确发布,但只有当我将它们设置为字符串并且它们在值中包含参数名称时才会这样做。所以:

Public ActionResult Method(String Age1, String Age2)
{
    Age1=23; Age2=43
}

我得到了

Public ActionResult Method(String Age1, String Age2)
{
  Age1="Age1=23"; Age2="Age2=43"
}

哪个很烦人。有没有办法确保MVC正确映射参数并只采用正确的值?我真的希望这样做:

Public ActionResult Method(Int32 Age1, Int32 Age2)
{
  Age1="Age1=23"; Age2="Age2=43"
}

jQuery调用:

$.ajax{(

//other stuff
data: { Age1: $('.id').val(), Age2: $('.id2').val() };
)};

Opps,这是因为在我的实际代码中我使用的是Serialize! DUH!

1 个答案:

答案 0 :(得分:2)

老实说,如果你实际上通过$ .ajax传递数字23和43,而不是“Age1 = 23”和“Age2 = 43”,那么你所做的事情并没有出现任何问题。如果你是,int肯定不会工作,因为框架不能将这些字符串转换为整数。

将ajax()调用更改为此可能是值得的,只是为了看看会发生什么。

data: { 
    Age1: parseInt($('.id').val()),
    Age2: parseInt($('.id2').val())
}