我的核心项目需要大量模板。
我们已经提出了一个解决方案,应该使项目非常灵活,但我不确定如何实施解决方案。
在我们的观看中,我希望能够像这样放置自定义标签:
<div class="some view">
{{SomeTag}}
</div>
现在这些标签与模型没有任何关系,我们要做的是在服务器(而不是浏览器!)的运行时用服务器上的文件内容替换这些标签(在某些标签下)指定目录)名为“SomeTag.html”。
是否有某种方法可以在基本控制器(将继承“Controller”)中添加方法或覆盖方法,该方法在视图的输出中搜索任何{{Tag}}并替换为其相应的Tag .html文件?
例如,这可能是合适的吗?
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
base.OnActionExecuted(filterContext);
}
答案 0 :(得分:1)
您可以使用修改后的
形式HtmlHelper.Partial(partialViewName)
您可以编写特定于您的方案的扩展方法
public static MvcHtmlString Template(this HtmlHelper htmlHelper, string templateKey)
{
string partialViewName = null;
// get partialViewName according to the template key
return htmlHelper.Partial(partialViewName);
}
你会像
一样使用它@Html.Template("SomeTag")