我在一个MVC1项目中工作,我在几个地方使用过Html.RenderAction,为此我引用了Microsoft.Web.Mvc库。它在本地运行得很好,但是当我将它上传到服务器的时候,它就失败了(尽管这个库在正确的位置,并且据我所知它被正确地引用了)。
它给出了这个编译错误
编译器错误消息: CS1061:'System.Web.Mvc.HtmlHelper‘不包含'RenderAction’的定义,并且找不到接受类型为'System.Web.Mvc.HtmlHelper‘的第一个参数的扩展方法'RenderAction’(是否缺少using指令或程序集引用?)
我知道它是随我引用的库一起提供的,而不是System.Web.Mvc (不过也引用了它),但实际上当我在视图中将鼠标悬停在Html.RenderAction上时,它似乎使用了System.Web.Mvc.HtmlHelpers,尽管我不能明确地写出这条路线
有什么想法吗?
谢谢
发布于 2012-06-08 21:34:39
问题是在MVC1中没有默认的RenderAction,你必须为它获取外部assebly,下面的引述支持我的观点
MVC RenderAction()在MVC Futures程序集中定义。你可以从http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24471下载。确保在项目的~\Web.config中导入Microsoft.Web.Mvc名称空间。
摘自:This Site
发布于 2012-06-09 03:51:02
好了,这是我最终做的事情。
首先,感谢RhysW的回复,我现在意识到我应该清楚地说明,虽然我提到过,但我使用的是Html.RenderAction,所以它实际上使用的是System.Web.Mvc,直到问题出现我才知道。我不知道为什么它在我的本地有效,但它确实有效。
为了让它能在远程机器上工作,我把代码改成了Microsoft.Web.Mvc.ViewExtensions.RenderAction beeing Microsoft.Web.Mvc redundant and no needed。
谢谢
https://stackoverflow.com/questions/10949738
复制相似问题