【发布时间】:2019-02-28 03:45:25
【问题描述】:
我们知道我们可以将 js 变量值传递给 mvc 动作,但是我如何将 js 数组传递给 mvc 动作?
所以我的问题是我如何通过 @Url.Action() 将 js 数组传递给 mvc 动作?
请看我的示例代码
[HttpPost]
public ActionResult DoSomething(string id, string deptno, list<PdfInputs> PdfInputs)
{
// Some magic code here...
}
var id = "10";
var deptno = "C001";
var PdfInputs = [];
for(inti=0;i<=totalbol-1;i++)
{
var PdfInput = {
firstName: "John",
lastName: "Doe",
age: 46
};
}
PdfInputs.push(BOLPdfInput);
location.href = '@Url.Action("DoSomething", "Customer")?id=' + id + '&deptno=' + deptno;
我的 mvc 操作将在客户端下载 pdf,这就是我使用的原因
location.href = '@Url.Action("DoSomething", "Customer")?id=' + id + '&deptno=' + deptno;
请指导我。
【问题讨论】:
-
您的方法被标记为
[HttpPost]- 您无法导航到 POST 方法(您需要提交表单)。如果它是一个 GET 方法,那么 url 需要是../DoSomething?id=10&deptno=C001&PdfInputs[0].firstName=John&PdfInputs[0].lastName=Doe&PdfInputs[0].age=46&PdfInputs[0].firstName=xxx.......但如果你这样做,你可能会超过查询字符串限制并抛出异常