.cshtml剃刀代码模板(.NET)
问题描述:
我刚开始用,NET工作,我不是很熟悉的剃刀代码。 我想在我的剃须刀(.NET)代码中删除冗余,没有一个大混乱。我有大约十几个PDF格式的生成带有剃须刀代码的.cshtml文件,并且数量在不断增长。每个文件几乎相同。整个结构总是相同的,只有内容总是不同的。由于该文件是相当大的,我会做一个抽象的例子(忽略元素的真正意义,这个名单可以是例如不同的格):.cshtml剃刀代码模板(.NET)
文件1:
<div>
<p>
@content
</p>
</div>
<ul>
<li>
<a>
@comment
</a>
</li>
</ul>
文件2:
<div>
<p>
@picture
</p>
</div>
<ul>
<li>
<a>
<div>
@link
@metadata
</div>
</a>
</li>
</ul>
我认为这不是很干净使用@helper或@function的是相同的不同部分。代码将不是十分清晰的,可以使用10个以上的函数进行阅读,那只适用于那里的结构。 我不能要么只是做一个函数插入值,因为有时有,例如,一个链路或主体结构内的附加div元素。
当时我想有一个地方,我可以改变的基本结构,改变所有的结构,而无需通过10+文件去和一个改变他们一个结束。
是否有可能作出这样的“模板”?
答
您可以使用定义的整体结构布局页。 “内容”,“评论”等被定义为布局中的部分,这些部分从使用布局的cshtml文件获取其内容。 Creating a Consistent Layout in ASP.NET Web Pages (Razor) Sites。
使用此布局
@{ Layout = "~/Views/Shared/_Layout.cshtml"; }
@section content {
<div>My content</div>
}
@section comment {
bla bla bla ...
}
你有没有试着用'DisplayTemplates'和'EditorTemplates'文件夹_Layout.cshtml
.cshtml共享?使用'UIHint'装饰器 – GGO