0

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:タイプまたは名前空間名'Content'が名前空間'Golf'に存在しません(欠落していますかアセンブリリファレンス?)

ビルドがコンパイルされ、Content名前空間は存在しますか?

ここで何がうまくいかないかについての提案

4

2 に答える 2

2

この行をビューに追加します(SO-ASP.NET MVCビューで拡張メソッドを使用するにはどうすればよいですか?):

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

そして、Html.RenderHtmlPage()それを使用します:

<% Html.RenderHtmlPage(Server.MapPath("http://www.salemgolfclub.org/Members/newletters/welcome.html")); %>
于 2009-07-19T16:27:04.843 に答える
2

また、web.configに追加して、すべてのページに追加する必要がないようにすることもできます。この投稿では、コントロールの登録について説明していますhttp://haacked.com/archive/2006/11/14/Register_Custom_Controls_In_Web.config.aspx

ただし、名前空間は同じように機能します。コントロールの代わりにセクションを使用してください。

于 2009-07-19T18:17:51.190 に答える