Подтвердить что ты не робот

Asp.net mvc добавление css в editorfor?

Я хотел бы изменить стиль текстового поля "editor for" из MVC, в частности, я хочу, чтобы текстовое поле больше.

Я попытался добавить css несколькими способами, но безрезультатно.

в том числе:

<td class="myCss"><%=Html.EditorFor(x => x.NickName)%></td>

и

<td class="myCss"><%=Html.EditorFor(x => x.NickName, new { @class = "myCss" })%></td>

help pls!

4b9b3361

Ответ 1

robh,

Вам сложно узнать из вашего вопроса, ищете ли вы "общее" или конкретное решение в рамках своего проекта. как таковой, я собираюсь обратиться к родовому - работает один раз, работает повсеместно.

это влечет за собой несколько шагов (соглашение по конфигурации). в основном здесь, что нужно:

  • создать новую папку под 'views- > shared Шаблоны редактора
  • создать новый файл usercotrol (ascx) под названием 'string.ascx'

теперь, определите, что ascx файл соответствует:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<string>" %>
<div class="editor-label">
    <%= Html.LabelFor(model => model) %>
</div>
<div class="new-editor-field">
    <%= Html.TextBoxFor(model => model) %>
    <%= Html.ValidationMessageFor(model => model) %>
</div>

теперь это сделает все вызовы на основе "string" на основе редактора(), используя этот "шаблон". просто сделайте класс "новый-редактор-поле" отражением вашего желаемого стиля css для этого поля. очевидно, готовят согласно вашему собственному требованию (то есть вам может не понадобиться LabelFor tat и т.д.)

надеюсь, что это поможет - я должен сказать, это всего лишь один из нескольких способов сделать это (но это мой предпочтительный путь).

пользоваться

jim

Ответ 2

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

<div class="editor-field myCss">
    @Html.EditorFor(model => model.Nickname)
</div>

Это приводит к примерно следующему HTML

<div class="editor-field myCss">
    <input class="text-box single-line" data-val="true" id="Nickname" name="Nickname" type="text" value="">
</div>

Затем просто используйте правило CSS для правильного стиля

.myCss input.text-box {font-size: 2em;}

Ответ 3

Попробуйте это

<%= Html.TextBoxFor(x => x.NickName, new { @class = "myCss" })%>

или

<%= Html.TextAreaFor(x => x.NickName, new { cols = "40%", @class = "myCss" })%>

Теперь вы можете определить свои атрибуты, потому что MVC знает, какой тип использовать (TextArea).

Ответ 4

Поместите результат EditorFor внутри div с некоторым атрибутом класса на нем и внутренним определением стиля для этого класса, используйте важную директиву для принудительного принятия желаемых значений для чего-либо внутри этого div.

Ответ 5

Попробуйте это,

fooobar.com/info/73439/...

Скопировано по ссылке выше,

@model DateTime?

@Html.TextBox("", (Model.HasValue ? Model.Value.ToShortDateString() : string.Empty), new { @class = "datePicker" })

Это работает для меня...