我需要在点击按钮时将视图的当前模型从视图传递到控制器。
这是将当前数据导出到Excel。
最好的方法是什么?我一直试图将模型从视图传递到JS函数中:
onclick = "ExportToExcel(this.Model);"
但是,数据作为未定义传递给JS。我做错了什么?
感谢。
答案 0 :(得分:1)
模型在到达控制器的视图后(最初在页面加载时)不再可访问,我的意思是它有点不再存在,你可以说Object
。因此,您无法直接将模型传递回JS / Controller。如果要将任何特定数据从Model传递给JS,可以通过在隐藏输入中实际“写”数据并使用jQuery的输入id从Java Script访问它来实现。
答案 1 :(得分:0)
onclick代码将在全局范围内运行this === window
。
我认为window.Model
是undefined
尝试
element.onclick = function() {
ExportToExcel(this.Model);
};
对于记录,将数据导出到excel应该在服务器上完成,并且应该返回一个指向excel文件的链接,该文件可以在用户可以下载的服务器上临时创建
答案 2 :(得分:0)
您可以使用jQuery发布您的模型对象,并且正如@Raynos所说,获取下载链接。 为此,您需要将模型(cs / vb)转换为javascript。