2010-10-13 5 views
2

У меня есть сайт, который размещен на GoDaddy, у них есть версия исполнения версии 4.0. Проблема заключается в том, что идентификатор клиента для серверных элементов управления генерируется как «contentPlaceHolder1_drpBanks», где он был ранее (когда веб-сайт был на каком-то другом сервере) генерируется как «ctl00_contentPlaceHolder1_drpBanks».Идентификация ClientID при развертывании сайта asp.net 2.0 в Framework 4.0

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

Как настройка в файле web.config или что-то в этом роде.

+2

Вы изучили ценный урок, не полагайтесь на автогенерируемые имена. Есть намного лучшие способы справиться с этим. – leppie

ответ

2

В будущем используйте <%=Control.ClientID%>, который будет успешно решать каждый раз - без изменений кода.

1

Элементы управления в ASP.NET 4.0 имеют свойство ClientIDMode. Если вы установите значение AutoID, ASP.NET должен генерировать идентификаторы клиентов так же, как в ASP.NET 2.0. Вот article, который объясняет разные режимы идентификатора клиента.

Помимо установки ClientIDMode на уровне управления, вы можете также установить его на странице или приложения:

<%@ Page Language="C#" ClientIDMode ="AutoID" ... %> 

или

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

Но я согласен с комментарием leppie, что это опасно полагаться на созданные идентификаторы клиентов.

+0

Конечно, я позабочусь в следующий раз. Спасибо alot – Sandhurst

+0

Будущие читатели: обратите внимание, что * ClientIDMode * http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode.aspx и * article * http://msdn.microsoft. com/en-us/library/system.web.ui.control.clientidmode.aspx не содержат одну и ту же информацию. – LosManos

+0

Есть ли способ достичь этой функциональности в ASP.NET2.0? Я имею в виду ClientIDCode = «Статическая» функциональность в версии 2.0 (для предопределенных идентификаторов в веб-приложении это не должно быть изменено, иначе это повлияет на другие места. –

Смежные вопросы