Как обрабатывать кнопку link в gridview для использования панели обновления?
У меня есть gridview и кнопка ссылки в gridview вместе с панелью обновления.
Но кнопка ссылка предназначена для загрузки файла, который не загружается после использования панели обновления.
Есть ли какой-либо код обратной связи для кнопки ссылки в панели обновления
Также я получил ошибку при загрузке... Не удалось найти элемент управления с идентификатором "lnkDownload"
для триггера в UpdatePanel 'UpdatePanel1'.
Что я уже пробовал:
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> <contenttemplate> <div style="margin-left: 140px; margin-top: 90px"> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" CellPadding="4" AllowPaging="true" PageSize="50" OnRowCommand="GridView1_RowCommand" OnRowEditing="GridView1_RowEditing" OnRowCancelingEdit="GridView1_RowCancelingEdit" onrowdatabound="GridView1_RowDataBound1"> <columns> <asp:TemplateField HeaderText="USER ID"> <itemtemplate> <asp:Label ID="Label21" runat="server" Text='<%# Bind("userid") %>'> <asp:TemplateField HeaderText="FILE DOWNLOAD"> <itemtemplate> <asp:LinkButton ID="lnkDownload" ToolTip="Click here for download the file" runat="server" Text="Download File" CommandArgument='<%# Bind("FILEPATH") %>' CommandName="download" OnClick="lnkDownload_Click" ForeColor="Blue" Font-Underline="True"> <pre> <FooterStyle BackColor="#99CCCC" ForeColor="#003399" /> <HeaderStyle BackColor="#008B8B" Font-Bold="True" ForeColor="#CCCCFF" /> <PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" /> <RowStyle BackColor="White" ForeColor="#003399" /> <SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" /> <triggers> <asp:AsyncPostBackTrigger ControlID="lnkDownload" EventName="lnkDownload_Click" />
F-ES Sitecore
Проблема, скорее всего, связана с событием click кнопки link. Если он отправляет файл для загрузки клиенту, который будет работать как обычный клик, так как он обрабатывается как часть обычного http-запроса\ответа браузером. Когда вы помещаете его в панель обновления, он становится ajax-запросом, обрабатываемым javascript, и вы не можете отправить файл клиенту через javascript. В принципе, вы должны добавить триггер PostBack в панель updatepanel, чтобы щелчок linkbutton не происходил асинхронно.
https://docs.microsoft.com/en-us/aspnet/web-forms/overview/older-versions-getting-started/aspnet-ajax/understanding-asp-net-ajax-updatepanel-triggers