Панель обновления, DataGrid, UserControl, UpdatePanel, DataGrid ... НЕДОПУСТИМО! - PullRequest
0 голосов
/ 14 мая 2011

Аааа .. Я слишком глубоко.

Главная страница содержит DataGrid внутри панели обновлений.

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

Этот пользовательский элемент управления имеет собственную сетку данных внутри панели обновлений.

Загрузка главной страницы. Пользователь выбирает файл, который связывает главную страницу с сеткой данных. Теперь, когда строка данных загружена, пользователь щелкает по нашему элементу управления.

Элемент управления отображается с использованием модальной всплывающей див-магии. Цель элемента управления - вызвать сохраненный процесс для поиска. пользователь вводит значение для поиска и нажимает кнопку Поиск.

Происходит событие btnSearch, вызывается сохраненный процесс, данные отправляются обратно по проводам, пользовательский элемент управления связывает свою собственную сетку данных, но сетка элемента управления никогда не обновляется и не отображается для пользователя.

То, что (я думаю) происходит, заключается в том, что, когда пользовательский элемент управления связывает свои данные, сетка данных главной страницы также восстанавливается, и пользовательский элемент управления создается повторно, прежде чем он сможет показать свое содержимое пользователю.

Вот менеджер скриптов на главной странице:

<asp:ScriptManager ID="sm1" runat="Server" EnablePartialRendering="true">
    </asp:ScriptManager>

Вот панель обновления на главной странице:

<asp:UpdatePanel ID="upPnlLookup" runat="server" UpdateMode="Conditional">
            <ContentTemplate>

Вот наш пользовательский элемент управления внутри таблицы данных главной страницы:

<asp:TemplateColumn>
   <ItemTemplate>
      <uc1:EmployeeLookup ID="el" runat="Server" Optional="True" />
   </ItemTemplate>
</asp:TemplateColumn>

Вот панель обновления в нашем пользовательском элементе управления:

<asp:UpdatePanel ID="upPnlLookup" runat="server" UpdateMode="Conditional">
   <ContentTemplate>

Вот таблица в нашем пользовательском элементе управления:

<asp:GridView ID="grdvwLookupResults"
              runat="server"
              AutoGenerateColumns="False"
              AllowPaging="True"
              OnPageIndexChanging="grdvwLookupResults_PageIndexChanging"
              Width="100%"
              OnRowCommand="grdvwLookupResults_RowCommand"
              OnSorting="grdvwLookupResult_Sorting" 
              EmptyDataText="No data found matching that criteria."   
              AllowSorting="True" >
   <Columns>
       <asp:ButtonField CommandName="Select" Text="Select" />
       <asp:BoundField DataField="ID" HeaderText = "Employee ID" SortExpression="ID" />
       <asp:BoundField DataField="FullName" HeaderText="Emlployee Name" SortExpression="FullName" />
       <asp:BoundField DataField="Status" HeaderText="Status" SortExpression="Status" Visible="false" />
    </Columns>
</asp:GridView>

Будем весьма благодарны за любые подсказки, как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...