У меня есть вид сетки asp.net с autogeneratecolumn true.Я хочу сделать один столбец кликабельным. И на этом клике я хочу открыть страницу управления пользователями в виде всплывающего окна.Но дело в том, что эта страница управления пользователем должна загружаться при событии щелчка, так как для загрузки страницы потребуется соответствующий идентификатор этой ячейки.
В настоящее время я использую событие rowDataBound этого вида сетки, чтобы сделать его кликабельным.Но всплывающее окно пользовательского элемента управления не загружается при щелчке значения этой ячейки, и поэтому пользовательский элемент управления открывается с последним идентификатором gridview.Как я могу загрузить всплывающее окно при нажатии кнопки.
Я пробовал, как показано ниже: code aspx page:
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<%@ Register Src="../controls/PMMobileData.ascx" TagName="ProductMobileData" TagPrefix="uc" %>
<asp:GridView ID="grdMatchingResult" runat="server" ClientIDMode="Static" Caption="Matching Records" AutoGenerateColumns="true" CellPadding="4" CellSpacing="4" Font-Size="Small" HeaderStyle-BackColor="#cccccc" Style="margin-top: 10px;" OnRowDataBound="grdMatchingResult_RowDataBound">
</asp:GridView>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" style="display: inline;">
<ContentTemplate>
<asp:Panel ID="ProcessingPanel" runat="server" Style="display: inline; max-height: 500px; overflow: auto; width: 1000px;" CssClass="modalPopup">
<table width="98%" style="border-collapse: collapse;" cellpadding="2">
<tr>
<td>
<uc:ProductMobileData ID="ProductMobileData" runat="server" />
</td>
</tr>
</table>
</asp:Panel>
<cc1:ModalPopupExtender ID="ProcessingModalPopup" runat="server" BackgroundCssClass="modalBackground"
TargetControlID="HiddenBtn01" PopupControlID="ProcessingPanel" />
<div>
<asp:Button runat="server" ID="HiddenBtn01" ClientIDMode="Static" Style="display: none;" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
aspx.cs page:
protected void grdMatchingResult_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(int.Parse(ddlAPI.SelectedValue) == 8)
{
if(e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[1].CssClass = "CellLink";
int PID = int.Parse(e.Row.Cells[1].Text);
int DeptID = logic.GetDeptIDByProductID(PID);
FBGlobalFunctions.SetProductID(PID);
e.Row.Cells[1].Attributes.Add("onClick", "javascript:$('#HiddenBtn01').trigger('click')");
}
}
}
Как загрузить пользовательский элемент управления при щелчке по ячейке gridview?Любая помощь оценит.Спасибо.