MVC и Editor для ширины - PullRequest
       38

MVC и Editor для ширины

24 голосов
/ 18 января 2011

Могу ли я установить ширину элемента управления EditorFor в моем представлении?

Я установил несколько параметров:

[Required, DisplayName("Payee Name"), StringLength(50)]
public string Name { get; set; }

Однако я не могу установить ширину текстового поля, которое будет отображаться.

<table width="300" border="0" cellpadding="3" cellspacing="0">
    <tr>
        <td>
            <%=Html.LabelFor(m => m.Name)%>
        </td>
        <td>
            <%=Html.EditorFor(m => m.Name)%>
        </td>
    </tr>

Можно ли это как-нибудь сделать?

Я пытался:

<%=Html.EditorFor(m => m.Name, new {width=50)%>

Но не радости ...

Ответы [ 12 ]

0 голосов
/ 07 сентября 2016

Над ответом Да и Нет. Нам нужно использовать инструмент разработки, чтобы проверить, какие стили используются и изменить их, они могут иметь max-width, width; Затем создайте собственный! Важный CSS, чтобы применить его, мой случай:

<style>
    textarea,
    input[type='text'],
    .form-group,
    .form-group-lg,
    .form-horizontal,
    .form-control,     
    .text-box,
    .single-line,
    .multi-line{
        width: 800px !important;
        max-width: 1000px !important;
    }
    .multi-line{
        height: 300px !important;
    }
    .form-horizontal{
        position:absolute;
        padding-left:15%;
    }
</style>

см. Результат прикрепленного изображения.

введите описание изображения здесь

0 голосов
/ 25 апреля 2013

Если вам нужна пользовательская ширина вне обычного правила CSS, и вы используете шаблоны редактора, вы можете сделать

<%=Html.EditorFor(m => m.Name, new { Width = 50})%>

Затем в вашем шаблоне редактора для String добавьте это в свой шаблон

@Html.TextBox(s => {
...
    if (ViewBag.Width != null )
    {
       s.Width = ViewBag.Width;
    }
 }).Bind(Model).GetHtml()
...