Это мой контроль, который работает на моей странице ASPX:ViewState данные не сохраняются
%@ 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>
На Page_Load из HostControl я установить:
ViewState["searchParams"] = "test";
После того, как пользователь нажимает ExportToExcel
, он вызывает метод GetDataToExport
от HostControl:
private DataTable GetDataToExport(out int[] columnsIndexes)
{
ViewState["searchParams"] -> null
}
Я не понимаю, почему это нуль, и как я могу это сделать в противном случае/Когда я положил Session InstEd из ViewState это работает, но это не logicly правильно.