更新面板,DataGrid,UserControl,UpdatePanel,DataGrid ...... INCEPTION!

时间:2011-05-13 20:17:47

标签: c# asp.net datagrid updatepanel webusercontrol

Arghh ..我太深了。

主页面包含更新面板内的DataGrid。

此数据网格中的一个列是我们的用户控件。

此用户控件在更新面板中有自己的数据网格。

主页加载。用户选择绑定主页面datagrid的文件。现在加载了datagridrow行,用户点击了我们的用户控件。

控件显示使用它的模态弹出式div魔法。控件的目的是调用存储过程来执行查找。用户输入要搜索的值,然后单击“搜索”。

btnSearch事件触发,调用存储的proc,数据通过线路发回,用户控件绑定自己的数据网格,但控件的网格永远不会刷新并显示给用户。

我认为正在发生的事情是当用户控件绑定它的数据时,主页面的datagrid也会反弹,并且在用户控件有机会向用户显示内容之前会重新实例化。

这是主页上的脚本管理器:

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

这是主页上的更新面板:

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

这是我们在主页datagrid中的用户控件:

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

以下是我们用户控件中的updatepanel:

<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>

任何有关如何连线的线索都将非常感激。

0 个答案:

没有答案