在一个ASP.NETMVC2项目中,我构建了一些用户控件,它们驻留在Views和DisplayTemplates文件夹中。
我正在尝试将这些模板放到一个类库中,以使它们可重用,我该怎么做呢!
我不知道这是否会有帮助,但需要更多细节;一些模板是以(string、Int32等)等类型命名的,而另一些模板则是像RemoteCombo这样命名的,并在UIHint中使用模板提示来指定。
发布于 2010-11-25 16:53:09
不幸的是,您不能只是创建一个库并将ascx文件放在那里。您将不得不创建一个‘代码’版本的模板,以呈现适当的html。
微软不得不这样做,以便在System.Web.Mvc.dll中提供默认模板
关于模板的更多信息可以在博客上找到-它是关于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命名空间的反射器中看到。
https://stackoverflow.com/questions/4275092
复制相似问题