2016-06-08 69 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