Html.TextBoxFor 格式和 css 类
下面的两行代码工作正常,但我想将它们组合起来。 我的意思是:我想在第一行代码中使用@class。 我怎样才能做到这一点?
<%: Html.TextBoxFor(model => model.Product.Price, String.Format("{0:f}", Model.Product.Price))%>
<%: Html.TextBoxFor(model => model.Product.Name, new { @class = "textBox150" })%>
谢谢,
菲利普
The two lines of code below work fine, but I want to combine them.
What I mean is: I want to use the @class in the first code line.
How can I do that?
<%: Html.TextBoxFor(model => model.Product.Price, String.Format("{0:f}", Model.Product.Price))%>
<%: Html.TextBoxFor(model => model.Product.Name, new { @class = "textBox150" })%>
thanks,
Filip
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我知道我来晚了,但我刚刚找到了这个问题的解决方案:
I know I'm way late here but I just found a solution to this issue:
恐怕没有干净的方法来实现这一目标。有几种可能性:
对 Product 属性使用编辑器模板:
在此编辑器模板内:
编写将附加类的自定义帮助程序
将这些文本框包装在
span
中:然后修改您的 CSS 规则:
I am afraid there is no clean way to achieve this. There are a couple of possibilities:
Use an editor template for the Product property:
and inside this editor template:
Write a custom helper that will append the class
Wrap those textboxes in a
span
:and then modify your CSS rule:
再说一遍,可能已经晚了,但我相信更好的解决方案是使用 jquery.maskedinput 插件(也可以作为 nuget 包提供)。
为什么使用插件比仅使用输入格式更好?好吧,当有人修改输入时,如果您不使用插件,您将失去格式。
在这里您可以找到其用法和工作原理的演示。
Again, it may be late, but I believe that much better solution is to use jquery.maskedinput plugin (also available as a nuget package).
Why is it better to use a plugin than just an input format? Well, when someone modifies an input, you will loose formating, if you don't use a plugin.
Here you can find a usage and a demo of how it works.