C# 视图中的Asp.Net MVC2错误

C# 视图中的Asp.Net MVC2错误,c#,asp.net-mvc-2,C#,Asp.net Mvc 2,我是MVC新手,我一直在关注Steven Anderson Pro ASP.Net MVC 2框架书,但遇到了以下问题 位于my site.Master文件中的以下代码行引发以下错误: <% Html.RenderAction("Menu", "Nav"); %> {“执行处理程序'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'的子请求时出错”。} 问题似乎在我试图呈现上述代码结果的局部视

我是MVC新手,我一直在关注Steven Anderson Pro ASP.Net MVC 2框架书,但遇到了以下问题

位于my site.Master文件中的以下代码行引发以下错误:

<% Html.RenderAction("Menu", "Nav"); %>

{“执行处理程序'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'的子请求时出错”。}

问题似乎在我试图呈现上述代码结果的局部视图中

浏览器中显示的实际错误如下所示:

无法加载类型
System.Web.Mvc.ViewUserControl

我的部分观点包括:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<WebUI.Models.NavLink>>" %>
<%foreach (var link in Model) { %>
<%: Html.RouteLink(link.Text, link.RouteValues }%>

该模型似乎也没有可用的智能感知

我知道这与继承有关,但我检查了名称空间,这似乎是正确的

在此方面的任何帮助都将不胜感激


提前感谢

我从那本书的第一版中找到了安德森的例子。我注意到,我的NavLink是在Controllers/NavController.cs中定义的,它的命名空间是WebUI.Controllers,而不是WebUI.Models(因此类型是IEnumerable。您报告的错误听起来肯定像是命名空间问题


编辑:我发现有一件事帮助我解决了这些示例中的问题,那就是下载他的源代码,并使用文件比较工具将他的版本与我的版本进行比较。当我遇到一个我无法解决的问题时。

我正在阅读Sanderson的书,遇到了同样的问题。解决方法是在菜单继承自导航链接。更正链接或重命名文件,一切正常

有趣的问题引出了一个问题:您如何从错误消息中确定这是一个名称空间问题?
Earl B.

我还发现,将类放入一个文件NavController.cs的原始想法也会产生此错误

将类分为3个文件 导航控制器 NavLink.cs CategoryLink.cs

都具有相同的命名空间 命名空间WebUI.Controllers


它应该可以解决这个问题

嗨,Mayo,在书的第二版中,Anderson已经将NavLink移动到了模型中,因此我的名称空间是正确的。感谢源代码提示,我不知道可以下载。我将下载并检查差异。谢谢你的帮助。嗨,Earl-我真的不知道b老实说,我更多地假设继承/名称空间存在问题,因为模型中没有可用的IntelliSense。