asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net-mvc – 如何使输入字段仅允许使用EF和数据注释的数字?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图弄清楚是否有办法确保使用数据注释和实体框架允许仅数字输入.

我使用以下代码

[required]
[DisplayName("Client No")]
[column("client_no",Typename = "smallint")]
public virtual Int16 number { get; set; }

我希望使用数字类来显示它.

在一个地方我使用以下

<input type="number" name="searchClientNo" class="numericOnly" /><br />

但在我正在使用的报名表中

@Html.EditorFor(m => m.number,EditorTemplate.TextBoX)

我有一个自定义的EditorFor与以下代码

<div class="editor-label">
    @Html.Label((ViewData.modelMetadata.DisplayName??ViewData.modelMetadata.PropertyName),new Dictionary<String,object>
            {
                { "for",ViewData.modelMetadata.PropertyName }
            })
</div>
<div class="editor-field">
    @Html.TextBox("",(object)Model,object>
            {
                { "id",ViewData.modelMetadata.PropertyName },{ "name",{ "class","text-box single-line"},{ "data-bind","value: " + ViewData.modelMetadata.PropertyName },})
    @Html.Validationmessage(ViewData.modelMetadata.PropertyName,object>
            {
                { "data-valmsg-for",ViewData.modelMetadata.PropertyName }
            })
</div>

我想知道如何保持这些代码没有更改,但仍然使用仅数字文本框.我需要使用UIHint吗?

或者,是否可以让我现有的EditorFor更聪明?

我发现此博客发布http://robseder.wordpress.com/2012/06/01/uihint-displaytemplates-and-editortemplates-in-mvc/但我已经使用自定义EditorFor了.可能是我需要添加一个新类型,例如,EditorTemplate.NumericTextBox并添加另一个编辑器?听起来它可能有用,我明天会试试这个……

非常感谢提前.

解决方法

您可以编写自定义编辑器模板〜/ Views / Shared / EditorTemplates / numberTemplate.cshtml:
@Html.TextBox("",ViewData.TemplateInfo.FormattedModelValue,new { type = "number" })

然后使用UIHint属性装饰您的视图模型属性:

[required]
[DisplayName("Client No")]
[column("client_no",Typename = "smallint")]
[UIHint("numberTemplate")]
public virtual Int16 number { get; set; }

你的视图中:

@Html.EditorFor(x => x.number)

或者如果您不想在视图模型上使用UIHint属性,可以定义EditorTemplate.NumericTextBox =“numberTemplate”,然后:

@Html.EditorFor(m => m.number,EditorTemplate.NumericTextBoX)

大佬总结

以上是大佬教程为你收集整理的asp.net-mvc – 如何使输入字段仅允许使用EF和数据注释的数字?全部内容,希望文章能够帮你解决asp.net-mvc – 如何使输入字段仅允许使用EF和数据注释的数字?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。