2009-08-24 20 views
1

私はモデルを使用しているMVCビューを持っていますが、モデルの一部ではない追加のコンテンツ用にいくつかのHTMLを挿入した後です。asp.net MVC HTMLインジェクション

挿入されたHTMLまたはテキストフィールドの内容は、プラグインとして認識されません。

既存モデルとプラグインHTMLフィールドの両方の変更をどのように取得できますか?あなたがしたい場合

答えて

2

あなたはこれを行うにはHtmlHelperの拡張機能を使用することができます。

namespace MyExtensions 
{ 
    public static class HtmlHelperExtensions 
    { 
     pubilc static string EmitPluginData(this HtmlHelper htmlHelper) 
     { 
      var pluginData = GetPluginDataFromSomeWhere(); 
      return pluginData; 
     } 
    } 
} 

その後、あなたの意見でこれを使用することができます。

<html> 
<body> 
    <%= ViewData["SomeData"] %> 
    <%= Html.EmitPluginData() %> 
</body> 
</html> 

ちょうどに名前空間を追加することを忘れないでくださいあなたのweb.config:

<pages> 
     <namespaces> 
     <add namespace="System.Web.Mvc" /> 
     <add namespace="System.Web.Mvc.Ajax" /> 
     <add namespace="System.Web.Mvc.Html" /> 
     <add namespace="System.Web.Routing" /> 
     <add namespace="MyExtensions" /> 
     ... 
3

MvcFuturesからのRenderActionはこれには本当に便利で、 HtmlHelpersプラグインのアーキテクチャIMHOの密接な知識。

関連する問題