下面的两行代码工作正常,但我想将它们组合起来。 我的意思是:我想在第一个代码行中使用@class。 我怎么能这样做?
<%: Html.TextBoxFor(model => model.Product.Price, String.Format("{0:f}", Model.Product.Price))%>
<%: Html.TextBoxFor(model => model.Product.Name, new { @class = "textBox150" })%>
感谢,
菲利普
答案 0 :(得分:65)
我知道我迟到了,但我刚刚找到了解决这个问题的方法:
<%: Html.TextBoxFor(model => model.StartDate, new { @class = "datepicker", Value=String.Format("{0:d}", Model.StartDate) })%>
答案 1 :(得分:0)
恐怕没有干净的方法来实现这一目标。有几种可能性:
使用Product属性的编辑器模板:
<%: Html.EditorFor(x => x.Product) %>
并在此编辑器模板中:
<%: Html.TextBox("Price", string.Format("{0:f}", Model.Product.Price), new { @class = "textBox150" }) %>
<%: Html.TextBoxFor(model => model.Product.Name, new { @class = "textBox150" })%>
编写一个附加类
将这些文本框包装在span
:
<span class="container150">
<%: Html.TextBoxFor(model => model.Product.Price, String.Format("{0:f}", Model.Product.Price))%>
<%: Html.TextBoxFor(model => model.Product.Name)%>
</span>
然后修改您的CSS规则:
.container150 input {
// some rule that applies to the textbox
}
答案 2 :(得分:0)
同样,它可能会迟到,但我相信更好的解决方案是使用jquery.maskedinput插件(也可用作nuget包)。
为什么使用插件比使用输入格式更好?好吧,当有人修改输入时,如果你不使用插件,你将失去格式化。
Here你可以找到它的用法和演示。