【问题标题】:Custom Number Incrementing Field MVC自定义数字递增字段 MVC
【发布时间】:2013-05-22 13:07:38
【问题描述】:

我对 MVC 中的 html 字段有了一个想法。这就是数字递增文本框。

你会怎么做呢?

我的想法是我有一些需要汇总的信息的表格。很多文本框只是数字字段,所以我希望它们增加两个按钮,这是可以在 WinForms 工具箱中的 VS 上看到的经典按钮。示例:HTML 5 Incrementer 但它不向后兼容旧版浏览器。所以我想自己做。

1) 创建一个自定义 HTML Helper,将其写出来,例如

@Html.NumberIncrementorFor(x => x.FieldToBeIncremented)

2) 找到 JQuery 等价物?

3) 将两者结合以获得完美的解决方案?

任何关于这方面的建议和指导都会很棒!这也是一个个人的、自我建设的项目。所以我宁愿创建自己的,然后使用预制的。想扩展自己的技能。显然,如果这是为了生产,我不会重新发明轮子。就在这一次,我做到了:)

【问题讨论】:

  • 这是什么上下文;什么事件会导致数字增加。号码的原始来源是什么。
  • @PeterSmith 我已经正确地调整了我的问题
  • 这是您要搜索的内容吗? NumericUpDown 在 Ajax 控制工具包中
  • 我的问题是,这与 Asynchronus Javascript XML 有什么关系?当然它只是一个 jquery 的东西。我也使用 Razor 而不是 webforms。
  • 是给我的吗? “异步 Javascript XML”?...你还好吗?你知道“Ajax Control Toolkit”至少是什么吗?这个想法是你看看他们是怎么做的,如果你愿意的话,你自己做,至少你会有一些东西开始,但如果那不是你想要的,很抱歉试图提供帮助!

标签: c# jquery asp.net-mvc asp.net-mvc-3


【解决方案1】:

处理此问题的最佳方法是使用 HTML 5 输入,并将类型设置为数字。

要得到这个,你可以像这样注释你的模型:

[DataType(DataType.Integer)]
public int FieldToBeIncremented{ get; set; }

这显然只适用于正确实现输入类型编号的浏览器,但您可以使用 polyfill 在旧浏览器上附加所需的行为。 在这里你可以找到一个 polyfill 可以做到这一点:

https://github.com/jonstipe/number-polyfill

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多