2011-07-18 62 views
0

我需要将按钮单击后,将视图的当前模型从视图传递到控制器。ASP.NET MVC将模型从视图导入控制器

这是将当前数据导出到Excel。

这样做的最好方法是什么?我一直试图从视图模型传递到JS功能,因此:

onclick = "ExportToExcel(this.Model);" 

但是,数据被传递到JS为未定义。我究竟做错了什么?

谢谢。

回答

0

您可以使用jQuery发布您的模型对象使用和@Raynos说,获取下载链接。 要做到这一点,您需要将您的模型(cs/vb)转换为javascript。

0

onclick代码将在全局范围内运行,因此this === window

我认为window.Modelundefined

尝试

element.onclick = function() { 
    ExportToExcel(this.Model); 
}; 

为了记录在案,将数据导出到Excel,应在服务器上完成,应该返回一个链接到该得到的临时创建的Excel文件在服务器上,用户可以下载

+0

感谢您的答案。我已经尝试了这一点,两者都带有引号和没有,并且该函数现在不会被调用。此外,excel导出将在服务器上完成,我只需要将数据传递给controller/javascript,然后将其传递到服务器上的Model类来执行逻辑。 –

+0

@DarrenYoung您应该使用JavaScript将onclick函数处理程序附加到元素,而不是将其添加为HTML中的属性 – Raynos

+0

谢谢,我现在已经识别出该命令。但它仍然不会认识到这一点。模型。对于显而易见的问题抱歉,我是MVC asp.net的新手。谢谢。 –

1

模型,在到达从控制器视图(最初在页面加载)不再可访问,我的意思是它不存在任何更多的作为Object你可以说。所以,你不能直接把模型传回给JS/Controller。如果你想将任何特定的数据从Model传递给JS,你可以通过在一个隐藏的输入中实际“写入”数据并使用jQuery的输入id从Java Script访问这些数据。 PS:我知道这是一个非常古老的问题,但我只是想知道我对此是否正确。 :)

相关问题