我正在使用 ASP.NET MVC 4 和 Kendo UI CurrencyTextBox 来帮助在视图的表单上显示数字。Kendo 不提供标准文本框控件,因此对于非数字文本框,我使用@Html.EditorFor。Kendo 提供了一些包含在 css 中的“主题”,我使用的是 kendo.default.min.css。显然我希望我的表单看起来一致并且所有控件(剑道与否)看起来都一样。阅读了类似的帖子,Telerik 工作人员建议在文本框中添加“k-textbox”类,因为我们使用的是 EditorFor 而不是 TextboxFor,我们不能直接应用 HTMLAttributes,但我们可以将字段包装在 div 中,以便它可以继承风格。
视图代码如下:
<div class="editor-field">
@Html.LabelFor(m => m.illus_LoanAmount)
@(Html.Kendo().CurrencyTextBoxFor(m => m.illus_LoanAmount)
.Spinners(false)
.Format("{0:£#,##0;(£#,##0)}"))
@Html.ValidationMessageFor(m => m.illus_LoanAmount)
</div>
<div class="editor-field">
@Html.LabelFor(m => m.illus_RepaymentType)
<div class="k-textbox">
@Html.EditorFor(m => m.illus_RepaymentType)
</div>
@Html.ValidationMessageFor(m => m.illus_RepaymentType)
</div>
下面看起来“有点”正确,但绝不是像素完美的,因此离生产还很遥远。我确保这不是我自己的 css 的结果,并且还尝试了使用 TextboxFor 的内联样式,但仍然没有运气。
我的解决方案是完全去掉 Kendo CSS 样式——但这似乎有点可惜。有没有人有像 Kendo/Telerik 一样制作标准控件的经验?