2011-05-05 14 views
12

में मेरे पास एएसपीनेट एमवीसी व्यू है जो उपयोगकर्ता को टेक्स्टरेरा में कुछ विवरण दर्ज करने की अनुमति देता है।एचटीएमएल .extAreaFor asp.net mvc

मुझे दो समस्याएं हैं जिनका सामना करना पड़ रहा है।

या तो जब मैं textarea का विस्तार करता हूं तो यह अन्य HTML तत्वों को स्थानांतरित किए बिना विस्तार कर रहा है या मैं एक HTML बनाने में सक्षम नहीं हूं। टेक्स्टबॉक्स फोर() मल्टीलाइन टेक्स्टबॉक्स। क्या कोई इसका समाधान सुझा सकता है? यदि Textarea का उपयोग इसे विस्तारित करने के लिए करें (आकार में बढ़ो) ताकि यह अन्य तत्वों के साथ ओवरलैप न हो या multiline के लिए HTML.TextBoxFor() का उपयोग कैसे करें?

यह कैसे मेरे कोड की तरह

<% using (Html.BeginForm()) 
     { %> 
    <%: Html.ValidationSummary(true)%> 

    <fieldset> 

     <div class="editor-label1"> 
      <%: Html.LabelFor(Model => Model.PackageID)%> 
     </div> 
     <div class ="editor-field1"> 
      <%: Html.HiddenFor(Model => Model.PackageID)%> 
       <%: Html.DisplayFor(Model => Model.PackageID)%> 
      <%: Html.ValidationMessageFor(Model => Model.PackageID)%> 
     </div> 

     <div class="editor-label1"> 
      <%: Html.LabelFor(Model => Model.PackageName)%> 
     </div> 
     <div class ="editor-field1"> 
      <%: Html.TextBoxFor(Model => Model.PackageName)%> 
      <%: Html.ValidationMessageFor(Model => Model.PackageName)%> 
     </div> 

     <div class="editor-label1"> 
      <%: Html.LabelFor(Model => Model.PackageDesc)%> 
     </div> 
     <div class ="editor-field1" style= "padding-bottom: 50px; margin-bottom: 150px"> 
      <%: Html.TextBoxFor(Model => Model.PackageDesc, new { TextMode = TextBoxMode.MultiLine, cols = "55", rows = "10" })%> 

      <%: Html.ValidationMessageFor(Model => Model.PackageDesc)%> 
     </div> 

     <div class="editor-label1"> 
      <%: Html.LabelFor(Model => Model.PackageTitle)%> 
     </div> 
     <div class ="editor-field1"> 
      <%: Html.TextBoxFor(Model => Model.PackageTitle)%> 
      <%: Html.ValidationMessageFor(Model => Model.PackageTitle)%> 
     </div> 
     <div class ="editor-label"> 
      <%: Html.Label("Project ID") %> 
     </div> 
     <div class="editor-field"> 
      <%:Html.DropDownList("ProjectID", (IEnumerable<SelectListItem>)ViewData["projects"])%> 
     </div> 
     <div> 
       <input type="submit" value="Save Edit" /> 
     </div> 
    </fieldset> 
    <% } %> 

उत्तर

17

प्रतिपादन TextArea ASP.NET MVC के Html सहायक का उपयोग कर और यह आकार बदलने योग्य दो अलग चिंताओं बना रहे हैं दिखता है। Html सहायक का उपयोग करते समय आप की तरह

<%:Html.TextAreaFor(x => x.SomeProperty, new { @class = "resizer" }) %> 

textarea करने के लिए एक वर्ग को जोड़ने तो फिर तुम यह आकार बदलने योग्य बनाने के लिए जब यह वेब पेज पर प्रदान की गई है jQuery के साथ इस वर्ग के हुक कर सकते हैं कर सकते हैं। अपने textarea आकार बदलने योग्य जानकारी के बारे में जानकारी के लिए कृपया Implementing a resizable textarea? देखें।

19

उपयोग जब उस्तरा

का उपयोग कर नीचे कोड
@Html.TextAreaFor(model => model.Comments, 10, 40, null); 
0

और भी बेहतर, यदि आप पाठ क्षेत्र में पंक्तियों की ऑटो-calculate संख्या चाहते हैं तो आप इस

@Html.TextAreaFor(m => m.Comments, Model.Comments.Count + 1, 40, null) 
उपयोग कर सकते हैं