'System.Web.Mvc.HtmlHelper'不包含'RenderPartial'的定义 - ASP.Net MVC

Joh*_*ies 7 c# asp.net-mvc

我一直在尝试在一台机器上运行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)

  • 更具体地说,可以在 system.web/pages/namespaces 下找到 (2认同)

Jus*_*tin 6

由于您在Code Behind中引用它(即Default.aspx.cs),因此您需要在文件顶部包含命名空间.

使用System.Web.Mvc.Html;

是包含RenderPartial扩展方法的命名空间.


Nat*_*han 5

你可能认为这很愚蠢,但我遇到了同样的问题.我有一个工作的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)