首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NumericTextBox使用Html.TextBoxFor而不是Html.TextBoxFor丢失值

NumericTextBox使用Html.TextBoxFor而不是Html.TextBoxFor丢失值
EN

Stack Overflow用户
提问于 2015-12-28 03:03:50
回答 2查看 592关注 0票数 1

当我使用带有Html.TextBoxFor的Kendo小部件(用于数字文本框编辑,特别是输入一个美元金额)时,如下所示:

代码语言:javascript
复制
@Html.TextBoxFor(i => i.TotalAmount, new { @class = "currency-editor", min = "0", })

在回发和处理数据时,值返回为null,因此在控制器中完成的服务器端代码检查失败,因为没有回发。

当我使用原始HTML时,比如:

代码语言:javascript
复制
<input type="text" id="@Html.IdFor(i => i.TotalAmount)" name="@Html.IdFor(i => i.TotalAmount)" value="@Model.TotalAmount"
       class="currency-editor" min="0" />

效果很好。我不知道有什么区别?初始化插件(没有问题初始化)是:

代码语言:javascript
复制
$(".currency-editor").kendoNumericTextBox({
            format: "c2",
            decimals: 2,
            spinners: false
         });

显然,它在内部出现了一些与TextBoxFor插件有关的东西,可能是特定于验证的?MVC 5,2015年Q3 Kendo (免费版)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-28 03:27:19

这个问题与输入-验证-错误和小部件被隐藏-我没有放在一起的一个步骤是,这个字段正在验证,这是添加到标记输出。诀窍是(正如Telerik的文档中所指出的):

代码语言:javascript
复制
@using (Html.BeginForm()) {
    //omitted for brevity
}

<script type="text/javascript">
    $(function () {
        $(".k-widget").removeClass("input-validation-error");
    });
</script>

参考:http://docs.telerik.com/kendo-ui/aspnet-mvc/validation#the-widgets-are-hidden-after-a-postback-when-using-the-jquery-validation

票数 0
EN

Stack Overflow用户

发布于 2015-12-28 06:05:06

你能试试这样吗?

代码语言:javascript
复制
<script>
    $(".currency-editor").kendoNumericTextBox({
        format: "c2",
        decimals: 2,
        spinners: false,
        value : @Model.TotalAmount
     });

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34487192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档