【问题标题】:C# extend MVC maxlengthattributeC# 扩展 MVC 最大长度属性
【发布时间】:2016-10-09 05:25:48
【问题描述】:

我已经在这里搜索以回答我的问题,我得到的最接近的是post,但它仍然没有完全向我澄清此事,所以我会问。

我需要的是扩展 maxlengthattribute 的方式,当我在 C# 文件中设置它时,

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

属性“maxlength”将被添加到标签内,并且是

我最初将其实现为编写 html-helper 来修改 TextBoxFor,但是,由于项目与 .js 紧密交织在一起,因此这是不可行的,并且插入重命名的方法会破坏代码,这将是一个痛苦的修复。

我上面提到的答案提供了我需要的最接近的解释,但看起来我需要声明属性(如函数中的内部 ()),我在那里看不到。

此时我可以尝试在服务器端修改 JS 文件,或者扩展 maxlength 属性。到目前为止,后者对我来说更可取,因此我想问一下如何在 c# 文件中正确扩展它。

非常感谢您!

【问题讨论】:

  • 可能会关闭,但请尝试使用 [StringLength(50, ErrorMessage = "ProjectDescription cannot be超过 50 characters.")]
  • @aggaton 我已经尝试过了,但是,我需要的是最大长度,并且在物理上防止任何字符超出限制。
  • @riteshmeher 你能帮忙解决 Randhir 解决方案中的第 3 步吗?我在视图/共享中没有这样的文件,所以我不知道放在哪里。提前谢谢!

标签: c# asp.net-mvc


【解决方案1】:

您可以编写自定义数据注释提供程序。最大长度属性将被添加到控件中。 参考这个link

【讨论】:

  • 我实际上是在你发布它之前发现它的。所以我会用它作为答案参考。谢谢。
  • 您可以在 Views\Shared\EditorTemplates 下创建文件夹并创建名为 string.ascx 的 ViewUserControl
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-12
  • 2018-04-02
  • 2011-02-14
  • 2012-01-20
  • 1970-01-01
相关资源
最近更新 更多