Управление ASP.NET в теге HTML эквивалентно

Я ищу шпаргалку, которая позволит мне показать конструктору HTML эквивалентные элементы управления asp.net для стандартных тегов HTML. Например, будет отображаться как HTML

, а будет отображаться как HTML . Я гуглил это безрезультатно. Может кто-нибудь опубликовать ссылку на хороший шпаргалку, чтобы дизайнеры этого проекта могли более четко понимать разметку на страницах aspx.

Чтобы было понятно, я хотел бы получить ссылку на список основных элементов управления ASP.NET с описанием их отношения к стандартному HTML. Было бы здорово, если бы это было в формате PDF или на удобной для чтения и печати веб-странице. Причиной, в моем случае, было бы то, что у нас есть PHP-разработчик, который очень хорошо знаком с HTML, который будет работать над нашим проектом, и я чувствую, что было бы полезно лучше понять стандартные серверные элементы управления ASP.NET, если бы я мог протяните ему такую ​​"шпаргалку".

Я имею в виду, в основном,.NET 2.0 framework, но мы также работаем с 3.0/3.5.

5 ответов

Решение

Это не простой вопрос, поскольку он зависит от того, о какой версии.NEt вы говорите, и иногда от состояний элементов управления. Например, PANEL в 1 и 1.1 визуализируется в TABLE, а в более поздних версиях это DIV.

Но в целом (для 2/3), здесь идет:

  • Панель - Div
  • Panel - GroupingText="###" - это Fieldset, Legend
  • Label - Span
  • Кнопка - Ввод, Тип Кнопка
  • Кнопка ссылки - Href со скриптом обратной передачи JS
  • Гиперссылка - Стандарт HREF
  • Кнопка Image - ввод, тип изображения
  • Текстовое поле - по умолчанию ввод, введите текст
  • Текстовое поле - Режим = Пароль - Ввод, введите Пароль
  • Textbox - Mode = Multiline is Textarea
  • DropDownList - Выбрать
  • Список - Выбрать
  • RadioButton - Ввод, Радио с GroupName
  • Флажок - Ввод, Флажок
  • Повторитель /Listview --Комплекс.
  • Gridview - Таблица
  • Стол - Стол
  • Файл - Ввод, Тип = Файл

    Это основы. Более эзотерические элементы управления, такие как элемент LOGIN, представляют собой таблицу, в которой есть множество шансов и концов.

Список Стивена довольно исчерпывающий. Я бы добавил к этому следующие заметки:

В основном это зависит от известных BrowserCaps.

Панель 1.x будет отображаться как div в IE6+ - однако в Firefox (или других браузерах "DownStream" - считается DownStream, потому что в Machine.Config по умолчанию не было никаких деталей), она будет отображаться как таблица с одной ячейкой - это может быть решено путем предоставления обновленных BrowserCaps для Firefox/Opera/Safari/etc, либо в Machine.Config, либо в Web.Configs.

Кроме того, управляющие адаптеры могут изменять вывод - например, управляющие адаптеры CSS будут выводить стилизованные элементы div для большинства табличных элементов управления (вход в систему, регистрация, повторители и т. Д.).

Обратите внимание, что на TechEd/PDC было объявлено, что в ASP.NET 4.0 будут встроены адаптеры управления CSS по умолчанию.

Это не дает прямого ответа на ваш вопрос, но во многих случаях вы можете добавить runat="server" к обычному тегу HTML, чтобы ASP.Net знал об этом. Это может облегчить работу дизайнера, если вы хотите иметь возможность динамически изменять страницу, но при этом позволить дизайнеру работать над ней.

<div id="myDiv" runat="server"></div>
<span id="mySpan" runat="server"></span>

Редактировать:

Одна вещь, которую я забыл упомянуть (как указал steve_c), это то, что добавление runat="server" изменит идентификатор тега, что может быть немного болезненным. Вам не повезло, если вы используете идентификатор в своем CSS, но в своем JavaScript вы можете добавить что-то вроде <% = myDiv.ClientID%>, чтобы получить идентификатор, сгенерированный.Net.

htmlgenericcontrol может быть полезен, если вам нужно визуализировать определенный тег

protected void CreateHeaders(List<Group_Info> group_Info)
{
    foreach (Group_Info gi in group_Info)
    {
        HtmlGenericControl groupContainer = new HtmlGenericControl("DIV");
        String lastLableID = "disp" + gi.GroupName.ToString().Replace(" ", "");
        groupContainer.ID = lastLableID;
        groupContainer.Attributes.Add("class", "content-groups");

        HtmlGenericControl groupTitle = new HtmlGenericControl("DIV");
        groupTitle.ID = lastLableID + "Sub1";
        if (gi.GroupName.Trim().Length == 0)
            groupTitle.Attributes.Add("class", "titlebar-hidden");
        else
        {
            groupTitle.Attributes.Add("class", "titlebar");
            groupTitle.InnerText = gi.GroupName.ToString().Trim();
        }

        groupContainer.Controls.Add(groupTitle);

        CreateFields(gi, ref groupContainer);

        this.pageContainer.Controls.Add(groupContainer);
    }
}
Другие вопросы по тегам