2016-06-08 70 views
1

我已经搜查这里回答我的问题,我曾经得到最接近的是post,但它仍然没有此事完全澄清我,所以我会问。C#扩展MVC maxlengthattribute

我需要的是,当我将它的C#文件中,

[MaxLength(50)] 
[Display(Name = "Project Description")] 
public string ProjectDescription { get; set; } 

属性“最大长度”将在标签内添加的,将是< \东西的东西最大长度的方式延伸maxlengthattribute什么= “50”>

我已经最初实现它作为编写html-helper来修改TextBoxFor,但是,这是无法做到的,因为项目与.js紧密交织在一起,并且插入重命名的方法会破坏代码,这将是一个修复的痛苦。

我上面提到的答案提供了我需要什么最接近的解释,但它看起来像我将需要(像里面()函数)声明属性,我看不出有。

在这一点上我可以尝试修改在服务器端JS文件,或延长maxlengthattribute。迄今为止,后者是优选的我,因此,我想问一下如何正确地扩展它的C#文件中。

非常感谢您提前!

+0

可能会关闭,但尝试使用[StringLength(50的ErrorMessage =“ProjectDescription不能超过50个字符。”) – aggaton

+0

@aggaton我曾尝试已经,但是,我需要的是最大长度,并在身体上防止任何超出限制的字符 –

+0

@riteshmeher可以请你在第3步从兰迪尔解决方案帮助吗?我在视图/共享中没有这样的文件,所以我不确定将它放在哪里。先谢谢你! –

回答

1

您可以编写自定义dataannotation提供商。最大长度属性将被添加到控件中。 请参阅本link

+0

我在发布之前发现它。所以我会用它作为答案参考。谢谢。 –

+0

您可以在Views \ Shared \ EditorTemplates下创建文件夹并创建名为string.ascx的ViewUserControl – riteshmeher