我正在尝试在我的MVC 3 web应用程序中使用DevExpress报表"该应用程序是一个普通的MVC 3应用程序,而不是DevExpress MVC 3应用",使用以下添加XtraReports的教程http://documentation.devexpress.com/#XtraReports/CustomDocument9974
问题是每次我试图添加
@Html.DevExpress().ReportToolbar(settings => {
// The following settings are necessary for a Report Toolbar.
settings.Name = "ReportToolbar";
settings.ReportViewerName = "reportViewer1";
}).GetHtml()
DevExpress()给我一个错误
"System.Web.Mvc.HtmlHelper"不包含"DevExpress"的定义,也找不到接受类型为"System.Web.Mvc.HtmlHelper"的第一个参数的扩展方法"DevExpress)(是否缺少using指令或程序集引用?)
有什么建议吗?!
您必须使用此链接中提供的步骤手动将Devexpress组件注册到您的项目中:
如何:手动注册DevExpress扩展以开始在MVC Web应用程序中使用它们
上面提供的步骤中唯一缺少的是程序集绑定重定向。没有它,我得到了一个例外:
[InvalidCastException: Unable to cast object of type 'System.Web.Mvc.HtmlHelper`1[System.Object]' to type 'System.Web.Mvc.HtmlHelper'.]
为了防止出现错误,我在<configuration>
:下的主web.config中添加了此部分
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
这将把旧的mvc程序集版本重定向到mvc 4。对于MVC 3,bindingRedirect行应该是这样的:
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />