残念ながら、ライブラリを作成してそこにascxファイルを置くことはできません。適切なHTMLをレンダリングするテンプレートの「コード専用」バージョンを作成する必要があります。
MicrosoftはSystem.Web.Mvc.dll
内のデフォルトのテンプレートを提供するために、テンプレートの詳細については、thisブログで見つけることができるだけのことをしなければならなかった - それはでテンプレートに関する記事の素敵なシリーズですMVC。すべてのデフォルトのテンプレートはで見ることができます。これは、(System.Web.Mvc.dllからの)デフォルトの小数のためのエディタのテンプレートである
internal static string DecimalTemplate(HtmlHelper html)
{
if (html.ViewContext.ViewData.TemplateInfo.FormattedModelValue == html.ViewContext.ViewData.ModelMetadata.Model)
{
html.ViewContext.ViewData.TemplateInfo.FormattedModelValue = string.Format(CultureInfo.CurrentCulture, "{0:0.00}", new object[] { html.ViewContext.ViewData.ModelMetadata.Model });
}
return StringTemplate(html);
}
を
を(「内蔵ディスプレイテンプレート」のセクションを見てみましょう)リフレクターSystem.Web.Mvc.Html
名前空間。
[VirtualPathProviderを使用してDLLからASP.NET MVCビューをロードする]の複製が可能です(http://stackoverflow.com/questions/236972/using-virtualpathprovider-to-load-asp-net-mvc-views-from- dlls) – jfar
Brad Wilson氏は次のように述べています。「XCOPYが最良の選択肢です。MvcTurbineのような再配布のためのビューを埋め込むようなサードパーティのライブラリがあります。だから、もしあなたが組み込みのコントロールをサードパーティーのオプションが欲しいなら、私はxcopy toughに落ち着くだろう。 – hazimdikenli