asp.net mvc页面无法找到参考

我创建了一个名为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)

3 years ago

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

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

3 years ago

将此行添加到您的视图(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")); %>