asp.net-mvc – 如何使输入字段仅允许使用EF和数据注释的数字?
发布时间:2020-12-15 20:57:20  所属栏目:asp.Net  来源:网络整理 
            导读:我试图弄清楚是否有办法确保使用数据注释和实体框架允许仅数字输入. 我使用以下代码 [Required][DisplayName("Client No")][Column("client_no",TypeName = "smallint")]public virtual Int16 Number { get; set; } 我希望使用数字类来显示它. 在一个地方我
                
                
                
            | 我试图弄清楚是否有办法确保使用数据注释和实体框架允许仅数字输入. 
  
  我使用以下代码 [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 – coldfusion和.net上的单点登录
- asp.net – 如何使用Docx dll生成word文档时在标
- asp.net-mvc – 如何让城堡windsor自动注册没有任
- asp.net – 将非www重定向到www规则导致文件问题
- asp.net-mvc – 如何在Asp.Net MVC中导出到excel
- asp.net – 什么是SQL Server Reporting Service
- asp.net – App_Offline.htm没有导致网站崩溃的可
- ASP.NET和C#代码中的常量
- asp.net – 如何设置显示内联的Div元素的固定宽度
- 在没有ViewState ASP.Net的情况下获取当前页面的
热点阅读
            