Telerik RadDock для проблемы инициализации ASP.NET AJAX - PullRequest
0 голосов
/ 27 июня 2011

Я столкнулся с проблемой при использовании элемента управления Telerik RadDock для asp.net ajax. Я генерирую макет док-станции динамически, и из базы данных извлекается несколько конфигураций страниц. Дело в том, что мне нужно использовать данные поста перед обработкой события LoadDockLayout, потому что существует dropDownList, который дает возможность выбрать одну из доступных конфигураций.

Я могу что-то упустить, но мне кажется, что событие LoadDockLayout происходит до события PreLoad (похоже, что LoadDockLayout запускается до вызова метода ProcessPostData) и до события dropDownList selectedIndexChanged, поэтому у меня нет значения I необходимо правильно инициализировать расположение док-станции.

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

Заранее спасибо.

1 Ответ

1 голос
/ 28 июня 2011

Событие RadDockLayout.LoadDockLayout вызывается для Page.InitComplete до того, как какие-либо данные поста могут быть обработаны. Если вы хотите загрузить различные элементы управления на основе выбранного элемента DropDownList, вы можете сделать это, проверив параметры, отправленные клиентом. Вот пример того, как вы можете получить их:

ASPX

<asp:Label ID="Label1" EnableViewState="false" runat="server" />
<asp:DropDownList ID="Dropdownlist1" runat="server" AutoPostBack="true">
    <asp:ListItem Text="text1" Value="val1" />
    <asp:ListItem Text="text2" Value="val2" />
    <asp:ListItem Text="text3" Value="val3" />
    <asp:ListItem Text="text4" Value="val4" />
</asp:DropDownList>

C #

protected void Page_Init(object sender, EventArgs e)
{
    if (IsPostBack)
    {
        var selValue = this.Request.Params.Get("Dropdownlist1");
        Label1.Text = "EVENTTARGET: " + this.Request.Params.Get("__EVENTTARGET") + "<br/>Value sent: " + selValue;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...