ASP.NET 2.5 с префиксом ctl00 и ASP.NET 4 без префикса ctl00

asp.net

10961 просмотра

4 ответа

Кто-нибудь знает, почему ASP.NET 4 отбросил ctl00префикс на элементах управления ASP?

Есть ли настройка, которую я пропустил?

Автор: Steven Источник Размещён: 12.11.2019 09:12

Ответы (4)


30 плюса

Решение

В ASP.NET 4.0 добавлена ​​поддержка более чистого синтаксиса HTML. Вы можете прочитать об этом в блоге Скотта Гу . Если вам нужна классическая модель для идентификаторов клиентов, вы можете настроить ваш web.config:

<configuration>
    <system.web>
        <pages controlRenderingCompatibilityVersion="3.5" />

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

<configuration>
    <system.web>
        <pages clientIDMode="AutoID|Predictable|Static|Inherit" />

AutoID отображает элементы управления с классической моделью ASP.NET 2.0.

Автор: Matthew Abbott Размещён: 14.12.2010 09:44

1 плюс

Насколько я помню, до ASP.NET решать, какой префикс использовать. Неправильно ссылаться на элементы управления с жестко заданным значением id.

Вы должны использовать свойство ClientId, которое всегда будет генерировать правильный идентификатор:

<td class="tmarg10" style="width: 150px">
    <label for="<%=txtName.ClientID %>">
        Name of the mall group :</label>
</td>
<td class="tmarg10">
    <asp:TextBox ID="txtName" runat="server" Columns="90" /> <br />
</td>

В приведенном выше примере вычисляется правильный идентификатор текстового поля и помещается в атрибут label. Таким образом, вы больше не будете беспокоиться о сохранении идентичного идентификатора элемента управления.

Автор: Andrey Tagaew Размещён: 14.12.2010 09:44

0 плюса

Если вы просто хотите добавить префикс «ct100» к идентификаторам вашего элемента управления, добавьте главную страницу на свою веб-страницу. Но, как сказано выше, старайтесь избегать использования жесткого кода с идентификаторами элементов управления в ваших источниках и читайте комментарии Меттью для генерации пользовательского идентификатора.

Автор: breez Размещён: 14.12.2010 09:58

0 плюса

Не настройка, а решение MS по упрощению способа преобразования идентификаторов элементов управления в контейнерах для клиента.

Вот сообщение в блоге Скотта Гатри, объясняющее изменения. Обоснование этого:

Чистая, основанная на стандартах, CSS-дружественная разметка

Автор: Oded Размещён: 14.12.2010 09:40
Вопросы из категории :
32x32