Откройте ModalPopup с пользовательским контролем на ячейке gridview. - PullRequest
0 голосов
/ 07 июня 2019

У меня есть вид сетки 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?Любая помощь оценит.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...