2010-08-12 10 views
7

आप एमवीसी 2 में टेक्स्टबॉक्स के अधिकतम लंबाई और आकार को कैसे सेट करते हैं? SO पर इस बारे में कुछ प्रश्न पूछे गए हैं। एमवीसी के लिए एक नवागंतुक के रूप में मुझे लगता है कि कोई भी समाधान काम करने के लिए प्रकट नहीं होता है - संभवतः क्योंकि मैं इसे सही नहीं कर रहा हूं।एमवीसी 2 संपादक के लिए अधिकतम लंबाई और आकार

किसी भी मामले में मैं सोच रहा हूं कि बेहतर समाधान हैं क्योंकि पिछले प्रश्नों से पूछा गया था कि एमवीसी 2 बीटा में था।

उत्तर

9

यह आसान है, तुम सिर्फ अतिरिक्त htmlAtttributes

<%= Html.TextBoxFor(model => model.Member, new { maxlength = "20", width = "15" }) %> 
<%= Html.TextBoxFor(model => model.Member, new { maxlength = "20", style = "width:200px;" }) %> 
+0

कमाल! उन्होंने वास्तव में बीटा संस्करण के बाद इसे ठीक किया। फिर भी, मैंने पाया कि केवल आपके समाधान में दूसरी पंक्ति काम करती है। इसके अलावा समाधान केवल टेक्स्टबॉक्स के लिए काम करता है और संपादक के लिए नहीं, हालांकि अभी के लिए मैं ठीक हूं। – arame3333

+0

आप किसी भी एचटीएमएल विशेषताओं को पारित कर सकते हैं, लेकिन याद रखें कि उन्हें एक निर्दिष्ट HTML तत्व के लिए मान्य होना चाहिए जो HTML सहायक उत्पन्न करता है - इस मामले में यह इनपुट है। –

+7

विषय शीर्षलेख संपादक कहते हैं - उत्तर टेक्स्टबॉक्स फोर कहते हैं। एफवाईआई - अतिरिक्त HtmlAttributes EditorFor के साथ काम नहीं करता है जब तक कि आप System.ComponentModel.DataAnnotations का उपयोग करके संपत्ति को सजाने नहीं देते "[स्ट्रिंग लम्बाई (5, त्रुटि संदेश =" 5 या कम अक्षर होना चाहिए ")], अन्यथा टेक्स्टबॉक्स में बदलना होगा और फिर हम उत्तर में उल्लिखित अतिरिक्त HtmlAttributes का उपयोग कर सकते हैं। –

0

ऊपर समाधान काम करता है करने के लिए, लेकिन अगर आप उस क्षेत्र के कई उदाहरण है, यह मॉडल या दृश्य मॉडल में यह स्थापित करने के लिए आसान होगा। वास्तविक मॉडल को संशोधित करने से सावधान रहें क्योंकि अद्यतन करते समय वे अस्थिर हो सकते हैं।

उदाहरण: मॉडल या मॉडल में देखें।

[DisplayName("Notes")] 
[MaxLength(500, ErrorMessage="Maximum length of notes field is 500 characters...")] 
[DataType(DataType.MultilineText)] 
public string Notes { get; set; } 

सबमिट करने के लिए इसे सत्यापित करने के लिए, आपको अपने web.config में निम्नलिखित की आवश्यकता होगी।

<add key="ClientValidationEnabled" value="true" /> 
<add key="UnobtrusiveJavaScriptEnabled" value="true" /> 

सुनिश्चित करें कि आप संदर्भ सत्यापन जे एस फ़ाइलें कहीं, अधिमानतः साझा/_Layout में या पेज पर ही करें ...

<script src="~/Scripts/jquery.validate.min.js"></script> 
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script> 

अन्त में यह सुनिश्चित करें कि आप cshtml में मान्यता संदेश शामिल किया है।

@Html.EditorFor(model => model.Notes, new { htmlAttributes = new { @class = "form-control", rows = "5", @placeholder = "Notes", title = "Enter any notes..." } }) 
@Html.ValidationMessageFor(model => model.Notes, "", new { @class = "text-danger" }) 

समाधान और परीक्षण बनाएं। उम्मीद है कि यह किसी और को समाधान खोजने में मदद करेगा।

संबंधित मुद्दे