我一直在尝试在一台机器上运行ASP.Net MVC 1.0,但是无法通过它.我创建了一个新的MVC项目(C#).它创建了所有文件夹,视图,控制器,模型等.一切都很好.然后,当我点击F5时,我得到以下内容:
d:\ VSCode2008\MVC\MvcApplication1\Views\Shared\Site.Master(19):错误CS0117:'System.Web.Mvc.HtmlHelper'不包含'RenderPartial'的定义
这发生在以下行:
httpHandler.ProcessRequest(HttpContext.Current); 在Default.aspx.cs中
它似乎正在尝试执行RenderPartial()以呈现登录部分.
我安装了.Net框架的3.51版本.我安装了1.0版的MVC,并且程序集显然有RenderPartial()作为HtmlHelper的扩展方法.
有人见过类似的东西?我发现了一些关于贝塔和RC的类似问题的帖子,但建议的修复方法并没有woredk.
我喜欢MVC的理论,但它不是让我玩!
dcp*_*dcp 19
只是试图排除显而易见的问题,但是你能确保在web.config的名称空间部分中有这个吗?
<add namespace="System.Web.Mvc.Html"/>
Run Code Online (Sandbox Code Playgroud)
由于您在Code Behind中引用它(即Default.aspx.cs),因此您需要在文件顶部包含命名空间.
使用System.Web.Mvc.Html;
是包含RenderPartial扩展方法的命名空间.
你可能认为这很愚蠢,但我遇到了同样的问题.我有一个工作的MVC应用程序,运行1.0.0.0,突然它停止工作,给我相同的RenderPartial不在定义中.事实证明,当我疯狂清理我的web.config时,我删除了这一部分.当我重新添加它时,一切都恢复了.我确定这与类扩展在运行时加载的方式有关.
无论如何,重新添加到我的web.config工作在我的机器上.;)
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" warningLevel="4"
type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4"
type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="OptionInfer" value="true"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>
</compilers>
</system.codedom>
Run Code Online (Sandbox Code Playgroud)