我需要将按钮单击后,将视图的当前模型从视图传递到控制器。ASP.NET MVC将模型从视图导入控制器
这是将当前数据导出到Excel。
这样做的最好方法是什么?我一直试图从视图模型传递到JS功能,因此:
onclick = "ExportToExcel(this.Model);"
但是,数据被传递到JS为未定义。我究竟做错了什么?
谢谢。
我需要将按钮单击后,将视图的当前模型从视图传递到控制器。ASP.NET MVC将模型从视图导入控制器
这是将当前数据导出到Excel。
这样做的最好方法是什么?我一直试图从视图模型传递到JS功能,因此:
onclick = "ExportToExcel(this.Model);"
但是,数据被传递到JS为未定义。我究竟做错了什么?
谢谢。
您可以使用jQuery发布您的模型对象使用和@Raynos说,获取下载链接。 要做到这一点,您需要将您的模型(cs/vb)转换为javascript。
onclick代码将在全局范围内运行,因此this === window
。
我认为window.Model
是undefined
尝试
element.onclick = function() {
ExportToExcel(this.Model);
};
为了记录在案,将数据导出到Excel,应在服务器上完成,应该返回一个链接到该得到的临时创建的Excel文件在服务器上,用户可以下载
模型,在到达从控制器视图(最初在页面加载)不再可访问,我的意思是它不存在任何更多的作为Object
你可以说。所以,你不能直接把模型传回给JS/Controller。如果你想将任何特定的数据从Model传递给JS,你可以通过在一个隐藏的输入中实际“写入”数据并使用jQuery的输入id从Java Script访问这些数据。 PS:我知道这是一个非常古老的问题,但我只是想知道我对此是否正确。 :)
感谢您的答案。我已经尝试了这一点,两者都带有引号和没有,并且该函数现在不会被调用。此外,excel导出将在服务器上完成,我只需要将数据传递给controller/javascript,然后将其传递到服务器上的Model类来执行逻辑。 –
@DarrenYoung您应该使用JavaScript将onclick函数处理程序附加到元素,而不是将其添加为HTML中的属性 – Raynos
谢谢,我现在已经识别出该命令。但它仍然不会认识到这一点。模型。对于显而易见的问题抱歉,我是MVC asp.net的新手。谢谢。 –