使用剃刀创建数字向上或值控制

时间:2013-09-28 20:40:28

标签: asp.net-mvc-4 razor

我正在使用asp.net mvc4 razor,我想知道razor中是否有一些控件允许输入数字和正整数值。有没有?

3 个答案:

答案 0 :(得分:5)

你可以使用HtmlHelper的EditorFor()的htmlAttributes参数在MVC中实现相同的功能:

  @Html.EditorFor(model => model.CreditCardExpirationMonth, new { htmlAttributes = new { type="number", min="1", max="12", @class = "form-control" } })

答案 1 :(得分:2)

您可以做的唯一“内置”事情是在表单中使用HTML5输入:

<input type="number" min="0" />

或者

<input type="text" pattern="\d*" /> 

有关所有输入类型编号属性的列表,请查看此链接 http://www.w3.org/TR/html-markup/input.number.html

答案 2 :(得分:1)

我使用jquery构建了自己的

@Html.TextBoxFor(x => x.Text, new { @class = "txtUpDown" })
<label class="lblUp">+</label>
<label class="lblDown">-</label>

然后在你的脚本中

$('.lblUp').keyup(function(){
    $('.txtUpDown').val() = (+$('.txtUpDown').val() + 1);
});
$('.lblDown').keyup(function(){
    if($('.txtUpDown').val() > 0){
        $('.txtUpDown').val() = (+$('.txtUpDown').val() - 1);
    }
});