是否有可能做这样的事情在剃刀:在剃刀更换内容选择性
@using(Html.CMSContent("TermsOfService"))
{
<text>
<!-- Some default content goes here if the "TermsOfService"
item doesn't exist in my content table in the database -->
</text>
}
当视图正在处理,如果CMSContent助手没有找到一些名为“TermsOfService”内容项数据库表我已经设置好了,它会输出默认的内容。
否则,它会用数据库中的内容替换默认内容?
我试图构建一个CMS /应用程序混合,以便市场部可以覆盖我的应用程序中的文本,如果他们想要的话。
CLARIFY
我这样做的原因是为了使代码无比轻松地读取和写入。我将最终得到这些小块内容,所以我希望尽量减少开发人员为了获得这个功能而需要输入的内容。
我也期待99%的时间,默认的文本是什么显示。但我希望在不需要重新部署应用程序的情况下快速更改一些文本的情况下处理1%的情况。因此,让默认文本尽可能接近其上下文是非常重要的(即,我不希望开发人员必须跳到不同的文件才能看到默认文本 - 也不必跳转到顶部页)。
例如,当您执行@using(Html.BeginForm())
时,它会自动发出开始和结束<form>
标记。我希望有这样聪明的东西。
是否有任何理由不把这个逻辑放在控制器中? –
只是想尽可能地保持默认内容尽可能接近页面的上下文。阅读Razor视图并查看默认文本可以更容易了解页面的外观,而不是跳转到控制器。 – Ryan