Содержимое главной страницы ASP.NET Все идентификаторы страницы изменились, что нарушило CSS на основе оригинальных идентификаторов элементов?Ты шутишь, что ли - PullRequest
3 голосов
/ 31 марта 2011

Похоже, что все элементы страницы ASP.NET Master Page изменяют свои идентификаторы или добавляются с помощью средства визуализации страниц ASP.NET.

Это нарушает все стили CSS на основе исходных идентификаторов элементов.

Это серьезно, как это работает? Если так, есть ли способ обойти это?

Ответы [ 2 ]

10 голосов
/ 31 марта 2011

Да, вы можете указать ClientIDMode установить его в статическое состояние.

примеры :

на стороне клиента

<asp:TextBox ID="TextBox1" runat="server" ClientIDMode="Static"></asp:TextBox>

Код позади

TextBox txtBox = new TextBox();
txtBox.ID = "TextBox1";
txtBox.ClientIDMode = ClientIDMode.Static

Устанавливая его в статическое состояние ...

Значение ClientID устанавливается равным значению свойства ID,Если элемент управления является контейнером именования, он используется как верхняя часть иерархии контейнеров именования для всех содержащихся в нем элементов управления.


Обновление спасибо @Chris Lively за дополнительную информацию


Уровень страницы

<%@ Page Language="C#" ClientIDMode="Static" AutoEventWireup="true"...

Уровень приложения

<system.web>
    <pages clientIDMode="Static"></pages>
</system.web>

ссылки :

2 голосов
/ 31 марта 2011

Я думаю, вам нужно использовать свойство ClientID вместо свойства ID.

Документация: http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientid.aspx

...