Доброго дня,
Есть страница написанная на ASP.NET 2.0 (C#). Используются MasterPage, WebForm(Page), WebPart.
В WebPart'e есть ComboBox там вибирабтся языки... язык я вибираю сохраняю в кукисы, все нормально но язык меняетсяс опозданием на одно обновленрие... С чем данная проблема связанна я знаю..
Для решения этого вопроса мне нужно сразу ловить данные переданные со страницы и применять их... но тут вопрос, ComboBox находиться в WebPart, он на WebForm, она на MasterPage и когда я делаю:
protected override void InitializeCulture()
{
string culture = Request.Form["PageUICulture"]; // culture = null;
if (string.IsNullOrEmpty(culture))
{
.....
то culture = null, просто к имени добавляется еще куча вещей характеризующих что данная "переменная" принадлежит WebPart'u-WebForm'e-MasterPag'u и в итоге получается очень длинное неприятное наименование.
Здесь ко всему появляется еще одна сложность должна быть возможность перетаскивать WebPart с выбором языка в разные WebPartZone, а они могут распологаться как на WebForm так и на MasterPage и поэтому имя может меняться.
Вопрос можно ли как-то в .NET сделать так чтобы имя(ID) переменно не менялось (т.е. .NET не добавлял своих вещей), жестко задать имя переменной по которому можно через Request его достать.
Спасибо за ваше терпение (вы дочитали до конца)
Если можете помогите... просто думаю такая вещь должна быть но как это называется и где об этом почитать ума не приложу.
С Уважением Л.Владимир
Request.Form[PageUICulture.UniqueID]; попробуй, где PageUICulture — твой DropDownList
Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Здравствуйте, Dimon aka Manowar, Вы писали:
DAM>Request.Form[PageUICulture.UniqueID]; попробуй, где PageUICulture — твой DropDownList
DAM>Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
DAM>
данное сообщение получено с www.gotdotnet.ru
DAM>ссылка на оригинальное сообщение
Я вызываю Request.Form[...] не из WebPart'a а из WebForm, поэтому я не могу обратиться к объекту... его просто нету (напишет мне .NET), именно поэтому я хотел уникально назвать контрол, чтобы вытаскивать его из всей коллекции.
Спасибо за участие
Значит нужно сохранить этот UniqueID где-то глобально на уровне страницы.
Либо же в обработчике DropDownList.SelectedIndexChanged принудительно вызывать метод смены языка.
Либо же просто использовать <select> без runat="server" и тогда Request.Form зарулит
Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение