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!
Ответы
Ответ 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" })
Это работает для меня...