我一直在关注Steven Sanderson的名为Pro ASP.NET MVC Framework的书,我遇到了一个例外:
编译错误
描述:期间发生错误 编译所需的资源 为此请求提供服务。请查阅 以下具体错误详情 并修改您的源代码 适当。
编译器错误消息:CS0121: 呼叫之间是暧昧的 以下方法或属性: “Microsoft.Web.Mvc.ViewExtensions.RenderAction(System.Web.Mvc.HtmlHelper, string,string)'和 “System.Web.Mvc.Html.ChildActionExtensions.RenderAction(System.Web.Mvc.HtmlHelper, string,string)'
Line 15: </div>
Line 16: <div id="catagories">
Line 17: <% Html.RenderAction("Menu", "Nav"); %>
Line 18: </div>
Line 19: <div id="content">
我的Site.Master代码:
<body>
<div id="header">
<div class="title">
SPORT STORE</div>
</div>
<div id="catagories">
<% Html.RenderAction("Menu", "Nav"); %>
</div>
<div id="content">
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
</div>
</body>
我感谢我知道哪里出错了。当我将MVC1的Microsoft.Web.Mvc.dll更改为MVC2的Microsoft.Web.Mvc.dll时,此错误已解决。但它似乎还有其他错误:
编译错误
描述:期间发生错误 编译所需的资源 为此请求提供服务。请查阅 以下具体错误详情 并修改您的源代码 适当。
编译器错误消息:CS0234: 类型或命名空间名称'NavLink'可以 在命名空间中不存在 'WebUI.Controllers'(你错过了吗? 汇编参考?)
来源错误:
Line 170:
Line 171: [System.Runtime.CompilerServices.CompilerGlobalScopeAttribute()]
Line 172: public class views_nav_menu_ascx : System.Web.Mvc.ViewUserControl<IEnumerable<WebUI.Controllers.NavLink>> {
Line 173:
Line 174: private static bool @__initialized;
那么,我现在该怎么办?
答案 0 :(得分:1)
关于第5章,第137页:
<%@ Control Language="C#"
Inherits="System.Web.Mvc.ViewUserControl
<IEnumerable<WebUI.Controllers.NavLink>>" %>
对我不起作用。我一直得到:命名空间'WebUI.Controllers'中不存在类型或命名空间名称'NavLink'
我必须将“... Controllers.NavLink ...”更改为“... Controllers.NavController.NavLink ...”才能使其正常工作。像这样:
<%@ Control Language="C#"
Inherits="System.Web.Mvc.ViewUserControl
<IEnumerable<WebUI.Controllers.NavController.NavLink>>" %>