我在整个Web应用程序中有一堆按钮样式的链接:
<a href="@Url.Action("Index", "Home")" class="btn btn-default btn-lg btn-right">
<span class="glyphicon glyphicon-home"></span>
<h3>Store Home</h3>
</a>
有时他们会得到一个额外的标签来指示方向箭头或其他装饰:
<a href="@Url.Action("Payment", "Checkout")" class="btn btn-primary btn-lg btn-right">
<h3><<</h3>
<span class="glyphicon glyphicon-credit-card"></span>
<h3>Back to Payment</h3>
</a>
我的问题是,与其在我的标记中加入这个按钮复制和粘贴的微妙不同风格,不如使用部分视图,以便如何将按钮及其各种口味的知识都集中在一个地方?编辑:为了清楚起见,我的意思是除了按钮标记之外没有其他任何东西的部分视图,以及潜在的"按钮视图模型"对象,其中包含要操作的视图的各种设置。
似乎部分视图的目的是促进可重用性和可维护性,但我不确定我是否走得太远了,或者是否存在某种我不知道的性能约束,这使得这是一个坏主意。
我宁愿使用自定义 HTML 帮助程序,但使用部分来隔离常见的功能(例如此功能)似乎也很合适。
使用自定义帮助程序,代码可能如下所示:
@Html.MySuperButton("Store Home", "Index", "Home")
或:
@Html.MySuperButton("Back to Payment", "Payment", "Checkout", "<")
在所有情况下,如果您有重复的通用功能,最好将其封装到可重用的帮助程序中。对于 HTML 的如此小部分,自定义帮助程序似乎是最合适的解决方案。