Я работаю над проектом ASP.NET/C# и у меня есть элемент управления GridView.Одним из столбцов является TemplateField / ItemTemplate с ImageButton внутри.Во время события OnClick я делаю панель видимой.Когда вы делаете это с обычным ImageButton, страница перезагружается и панель видна.Этого не происходит с моим ImageButton внутри GridView.Кто-нибудь знает, как я могу это сделать, или почему это так?
Спасибо за ваше время, пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы.
Вот соответствующее определение asp
<asp:TemplateField ItemStyle-Width="90px" ItemStyle-VerticalAlign ="Bottom" ItemStyle-HorizontalAlign ="Center" HeaderText="Add Alias">
<HeaderStyle Font-Bold="True" Font-Size="11px" VerticalAlign="Bottom"/>
<ItemTemplate>
<asp:ImageButton ID ="btnAddAliasHeader" runat="server" ImageUrl="~/img/AddAlias.gif" onclick="btnAddAlias_Click" />
</ItemTemplate>
</asp:TemplateField>
А вот C # для функции OnClick.
protected void btnAddAlias_Click(object sender, EventArgs e)
{
ImageButton btnAddAlias = (ImageButton)sender;
GridViewRow row = (GridViewRow)btnAddAlias.Parent.Parent;
int rowIndex = row.RowIndex;
lblSelectedCity.Text = gvResults.Rows[rowIndex].Cells[0].Text;
lblSelectedCountry.Text = ddlCountry.Text;
pnlAddAlias.Visible = true;
}
Я добавил событие OnRowCommand и сделал панель видимой, но она все равно не отображается.Я думаю, что это может быть как-то связано с обратной передачей, потому что если я затем нажму на кнопку за пределами вида сетки, при перезагрузке панель с кнопкой внутри вида сетки будет хорошо отображаться.
Редактировать: Яидиот и не учел, что все это происходит в панели обновления.