【发布时间】:2015-04-09 11:28:25
【问题描述】:
这是在我的 aspx 页面上运行的控件:
%@ Control Language="C#" AutoEventWireup="true" CodeBehind="HostsControl.ascx.cs" Inherits="ClientFrontEnd.HostsControl" %>
<%@ Register Src="~/UserControls/DataGridView.ascx" TagPrefix="dtbl" TagName="DataGridView" %>
<dtbl:DataGridView runat="server" id="tbl" />
它使用另一个控件:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DataGridView.ascx.cs" Inherits="ClientFrontEnd.UserControls.DataGridView" %>
<asp:UpdatePanel UpdateMode="Conditional" runat="server" ID="updatePanel">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="imgExportToExcel" EventName="Click" />
<%--<asp:AsyncPostBackTrigger ControlID="imgExportToPDF" EventName="Click" />--%>
</Triggers>
<ContentTemplate>
<asp:UpdateProgress runat="server" ID="upprogress" AssociatedUpdatePanelID="updatePanel" DisplayAfter="0">
<ProgressTemplate>
<div style="position: fixed; text-align: center; height: 100%; width: 100%; top: 0; right: 0; left: 0; z-index: 9999999; background-color: #000000; opacity: 0.7;">
<asp:Image ID="imgUpdateProgress" runat="server" ImageUrl="~/images/iguloader-yashar.gif" AlternateText="Loading ..." ToolTip="Loading ..." Style="padding: 10px; position: fixed; top: 45%; left: 50%;" />
</div>
</ProgressTemplate>
</asp:UpdateProgress>
<asp:PlaceHolder runat="server" ID="exportControls">
<div id="div_export_images" style="text-align:right;">
<asp:ImageButton ID="imgExportToExcel" ImageUrl="~/images/files/excel.png" ToolTip="Export to excel" AlternateText="Excel" OnClick="ExportToExcel" runat="server" />
<asp:ImageButton ID="imgExportToPDF" ImageUrl="~/images/files/pdf.png" ToolTip="Export to pdf" AlternateText="PDF" OnClick="ExportToPDF" runat="server" />
</div>
</asp:PlaceHolder>
<asp:Table runat="server" ID="table" CssClass="dataTable cell-border <%=CssClass%>" Width="100%" />
</ContentTemplate>
</asp:UpdatePanel>
在我设置的HostControl的Page_Load上:
ViewState["searchParams"] = "test";
用户点击ExportToExcel后,它会从HostControl调用GetDataToExport方法:
private DataTable GetDataToExport(out int[] columnsIndexes)
{
ViewState["searchParams"] -> null
}
我不明白为什么它为空,否则我该怎么做/当我将 Session 设置为 ViewState 时它可以工作,但它在逻辑上不正确。
【问题讨论】: