asp.net mvc页面找不到参考

时间:2009-07-19 16:01:09

标签: asp.net-mvc compiler-errors

我创建了一个名为HTMLRenderer的新类,我从我的aspx视图代码中调用它

 namespace Golf.Content
 {
     public static class HtmlRenderer
     {
         public static void RenderHtmlPage(HtmlHelper helper_, string path_)
         {
             var reader = new StreamReader(path_);
             var contents = reader.ReadToEnd();
             helper_.ViewContext.HttpContext.Response.Write(contents);
         }
     }
 }

我正在使用它

<% HtmlRenderer.RenderHtmlPage(Html, Server.MapPath("http://www.salemgolfclub.org/Members/newletters/welcome.html" ) ); %>

我收到错误

  

d:\ Adam \ Code \ CSharp \ Asp.net \ Adam \ Views \ Home \ Index.aspx(2):错误CS0234:名称空间'Golf'中不存在类型或命名空间名称'Content'(你错过了装配参考吗?)

构建编译和内容命名空间是否存在?

关于这里出错的任何建议

2 个答案:

答案 0 :(得分:2)

将此行添加到您的视图(SO - How do I use an extension method in an ASP.NET MVC View?):

<%@ Import Namespace="Golf.Content" %>

然后使用Html.RenderHtmlPage()

<% Html.RenderHtmlPage(Server.MapPath("http://www.salemgolfclub.org/Members/newletters/welcome.html")); %>

答案 1 :(得分:2)

您也可以将其添加到web.config,这样您就不必将其添加到每个页面。这篇文章谈到了注册控件http://haacked.com/archive/2006/11/14/Register_Custom_Controls_In_Web.config.aspx

但名称空间以类似的方式工作。只需使用该部分而不是控件。