【发布时间】:2014-08-05 13:03:45
【问题描述】:
我有一个带有视图模型数据列表的可观察数组,我需要将其传递给返回类型为 ActionResult 的 Normal 控制器
public ActionResult Index(list<qualities> data)
{
return excelCon.DownloadTMExcel(data); //here i get actionResult as ReturnType
}
Java 脚本代码:
var URL = "/DownloadExcel/Index?data="+self.qualities(); //self.qualities holds my entire list which hits break point in controller but i get Zero list .
window.open(URL, "_blank");
实际上,excat 场景是当一切正常时,我会在打开新窗口的情况下下载 excelsheet。
我需要关于如何像我处理方式一样传递 observableArray 的建议。
我也很累,比如:
var URL = "/DownloadExcel/Index?data="+ko.toJson(self.qualities()); //this dont to controller itself
我尝试使用 Ajax 调用,但它仍然以一种方式工作,即我可以传递 ObservableArray 但 ActionResult 返回类型它无法处理。总是会进入 ajax 调用的错误函数,我不会下载我的 excel。
唯一对我有用的情况:还有其他情况,我只需将参数传递给控制器,然后我就可以打开一个新窗口并下载相关的 excel。
var URL = "/DownloadExcel/Index?typeId="+2;
window.open(URL, "_blank"); //on open of new window i get excel downloaded
补充:
[HttpPost]
public ActionResult Index(list<qualities> data) // i get count ZERO
{
return View();
}
使用字符串参数
[HttpPost]
public ActionResult Index(string data) //break point at controller not even hitting
{
return View();
}
非常感谢任何帮助。
【问题讨论】:
标签: jquery ajax asp.net-mvc excel knockout.js