2010-11-10 5 views
1

Я некоторые ASP.N (MVC2) автогенерируемый HTML, которая создает форму вида:Очистка asp.net mvc2 автогенерированной формы html -css?

http://www.freeimagehosting.net/uploads/f5807b7cee.png

Это потому, что говорите, каждый из падения капель является список строк, некоторые строки в том, что drop down длинный/короткий.

Что я хочу сделать, это сделать их одинакового размера или, по крайней мере, очистить эту форму в некотором роде.

Я предполагаю, что смогу проверить визуализированный html и использовать css для этого, возможно, для работы.

Любые предложения/код css?

Приветствия

EDIT:

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

Как вы это делаете, если используете модель данных сущности (и все это сгенерировано для меня), и у меня есть DataModel.edmx и DataModel.Designer.cs - куда идут теги метаданных?

+0

Вы, вероятно, не должны проходить классы моделей в шаблон редактора. Вместо этого вам следует создавать классы ViewModel, настраивать все необходимые DataAnnotations, а затем использовать AutoMapper для сопоставления этих ViweModels с вашими классами Model. –

+0

Я согласен с @wwwynyn. Попытайтесь привыкнуть к ViewModel для каждого представления и добавить классы модели в ViewModel. – RPM1984

+0

Я вижу ... Имеет смысл и с удовольствием использовать модель представления для каждого представления, но думал, что мне нужно определить dataannotations и т. Д. В фактическом классе, а не в классе viewmodel ... Есть ли какие-либо учебники о том, как «использовать AutoMapper для сопоставления те ViewModels для ваших классов моделей ". ? – baron

ответ

2

Да. Это, вероятно, лучше добавлять классы для ваших полей ввода:

<%: Html.TextBoxFor(m => m.FirstName, new { @class = "form-input-w100" }) %> 

Затем в файле CSS, вы бы указать ширину:

input.form-input-w100 { width: 100px; } 

Если вы хотите сохранить точный контроль над моделированием ваши формы, я предлагаю вам отклониться от шаблонов редактора по умолчанию. Они не очень дружелюбны. Кроме того, вы можете создавать свои собственные стильные шаблоны редакторов (как описано здесь: http://www.weirdlover.com/2010/07/15/the-big-boy-mvc-series-part-24-dear-editortemplates-are-we-done-posting-yet/).

И, в довершение всего, вы МОЖЕТЕ навязывать ширину всем объектам в форме, даже если форма не помечена хорошо, но я НЕ рекомендую этот подход. Я дам его вам в любом случае:

#pageArea form input[type=textbox] { width: 100px; } 
#pageArea form select { width: 140px; } 

т.д.

Надежда, что помогает!

P.S. Если вам нужна дополнительная информация о стилизации - проверить http://net.tutsplus.com/tutorials/html-css-techniques/the-30-css-selectors-you-must-memorize/

1

Звуки, которые вы хотите создать custom editor template.

Таким образом, вы можете сказать:

<%: Html.EditorFor(x => Model.Customer) %>

Что бы потом вынести вид, связанный с объектом клиента.

Существует так называемая дискуссия на EditorFor/DisplayFor/PartialView's here.

Другим (несколько болезненным) решением является изменение шаблона вида.

Существует сообщение в блоге на этой here

+0

См. Мое редактирование, я не уверен, где добавить метаданные для классов ... – baron

2

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

input[type=select] { width: 300px; } 

Here является хорошая публикация на селекторах css.