2011-01-22 2 views
26

Две строки кода ниже работают нормально, но я хочу их комбинировать. Что я хочу сказать: я хочу использовать @class в первой строке кода. Как я могу это сделать?Формат html.TextBoxFor и css класс

<%: Html.TextBoxFor(model => model.Product.Price, String.Format("{0:f}", Model.Product.Price))%> 

<%: Html.TextBoxFor(model => model.Product.Name, new { @class = "textBox150" })%> 

спасибо,

Filip

ответ

0

Я боюсь, что не чистый способ для достижения этой цели. Есть несколько возможностей:

  1. Используйте шаблон редактор для свойства продукта:

    <%: Html.EditorFor(x => x.Product) %> 
    

    и внутри этого шаблона редактора:

    <%: Html.TextBox("Price", string.Format("{0:f}", Model.Product.Price), new { @class = "textBox150" }) %> 
    <%: Html.TextBoxFor(model => model.Product.Name, new { @class = "textBox150" })%>   
    
  2. написать собственный помощник, который будет добавьте класс

  3. Оберните эти текстовые поля в span:

    <span class="container150"> 
        <%: Html.TextBoxFor(model => model.Product.Price, String.Format("{0:f}", Model.Product.Price))%> 
        <%: Html.TextBoxFor(model => model.Product.Name)%> 
    </span> 
    

    , а затем измените правило CSS:

    .container150 input { 
        // some rule that applies to the textbox 
    } 
    
61

Я знаю, что путь поздно здесь, но я только что нашел решение этой проблемы:

<%: Html.TextBoxFor(model => model.StartDate, new { @class = "datepicker", Value=String.Format("{0:d}", Model.StartDate) })%> 
+0

Мне потребовался вечно, чтобы найти этот ответ. Благодаря! –

+0

@Cheddar - Спасибо, человек. Это спасло мне волосы! – Baahubali

0

Опять же, может быть и поздно, но я считаю, что гораздо лучшим решением является использование плагина jquery.maskedinput (также доступного как пакет nuget GE).

Почему лучше использовать плагин, чем только формат ввода? Ну, когда кто-то изменяет ввод, вы потеряете формирование, если вы не используете плагин.

Here вы можете найти использование и демонстрацию того, как это работает.

 Смежные вопросы

  • Нет связанных вопросов^_^