我无法通过HTTP传递字符串数组来执行我的操作。我的HTTP GET可以这样做:
http://www.example.com/Add?id=1&id=2&id=3&id=4
我的代码如下
[HttpGet]
public ActionResult Add(params string[] id)
{
// I expect this:
// id = string[]{"1","2","3","4"}
// I get this:
// id always comes in as {string[1]}... aka. string array with one element
// id[0] is "" - aka. the first element is always an empty string
}
我的HTTP Get可能进入的方式:
http://www.example.com/Add?id=1
http://www.example.com/Add?id=1&id=2&id=3&id=4
http://www.example.com/Add/1
如何用一种控制器方法处理此问题?
我尝试过的其他事情:
答案 0 :(得分:0)
您可以使用Request.QueryString集合。
答案 1 :(得分:-1)
这可能无法回答您的问题,因为您可能对jQuery- Ajax解决方案不感兴趣。但是那些可能会来这里寻找答案的人,是我实现它的方法。
Jquery和Ajax:
$.ajax({
url: '/Controller/Method?id=2&id=3',
type: 'GET',
datatype: "json",
processData: false,
contentType: "application/json; charset=utf-8",
async: true,
success: function(response){},
error: function(response){}
});
C#控制器:
[HttpGet]
public ActionResult ExportRecords(string[] id)
{
foreach(string value in id)
{
System.Diagnostics.Debug.Writeline(value);
}
return View();
}