ASP:复选框可以在ASP:面板标签中检查 /未选中选中 /未选中

发布于 2025-02-08 17:22:15 字数 4231 浏览 0 评论 0原文

我正在填充行景行,并在后端绑定它们。 在每一行中,都有一个具有id =“ button2”的超链接的列 点击Button2超链接后,模态弹出窗口将“ mypanel1”转到屏幕。 在mypanel1中,我还有另一个ASP:带有id =“ checkbox1panel”的面板标签 在此面板中,我有一个ASP:复选框元素。 而且我无法检查此复选框元素。它的ID是“ Checkbox1”,

这是我的代码

JavaScript代码

function ShowApproveModalPopup(Id)
{ 
    var modal = $find('ctl00_MainContentPlaceHolder_myPanel1ModalPopupExtender');
    document.getElementById('ctl00_MainContentPlaceHolder_HiddenField1').value=Id; 

    modal.show();
    
    return false;
}

function HideModalPopup()
{
    var modal = $find('ctl00_MainContentPlaceHolder_myPanel1ModalPopupExtender');
    modal.hide();
}

HTML代码

<asp:GridView ID="GridView1" runat="server" 
                            Width="100%" 
                            DataKeyNames="Id" 
                            AutoGenerateColumns="False" 
                            EmptyDataText="<br /><br /><br />File could not be found!<br /><br /> 
<br/><br />" 
                            OnRowDataBound="GridView1_RowDataBound" 
                            OnPageIndexChanging="GridView1_PageIndexChanging" 
                            OnSelectedIndexChanging="GridView1_SelectedIndexChanging" 
                            AllowPaging="true" 
                            PageSize="25" OnRowCommand="GridView1_RowCommand">
    <Columns>
                                    <asp:TemplateField>
                        <ItemTemplate>
                            <table cellpadding="0" cellspacing="0" width="100%" border="0" style="border:0px;">
                                <tr>
                                    <td id="OperationPanelTableCell1" runat="server"  style="width:16px; border-left:0px; border-right:0px; border-top:0px; border-bottom:0px;" align="left">
                                       <asp:HyperLink ID="Button2" runat="server" NavigateUrl="#"><asp:Image ID="Image1" runat="server" ImageUrl="~/Images/02.png" AlternateText="asdf" /></asp:HyperLink>
                                    </td>
                                </tr>
                            </table>
                        </ItemTemplate>
                        <ItemStyle HorizontalAlign="Center" />
                    </asp:TemplateField>
    </Columns>
    <RowStyle Height="30px" />
</asp:GridView>
<asp:Panel ID="myPanel1" runat="server" Height="304px" Width="425px" Style="display: none;">
    <asp:HiddenField ID="HiddenField1" runat="server" />
    <div id="dialog-mask">
    </div>
    <div id="dialog">
        <div id="dialog-header" class="confirmheader">
            <div id="dialog-title">
                Deneme
            </div>
            <div style="text-align:right;">
                <asp:ImageButton ID="CloseImage" runat="server" ImageUrl="~/Images/close.gif" OnClientClick="HideModalPopup()" />
            </div>
        </div>
        <div id="dialog-content" class="confirm">
            <asp:Panel ID="CheckBox1Panel" runat="server">
                <asp:CheckBox ID="CheckBox1" ClientIDMode="Static" runat="server" />
            </asp:Panel>
            <asp:Button ID="OKButton" runat="server" Text="Yes" OnClick="OKButton_Click" CausesValidation="false" UseSubmitBehavior="false" ValidationGroup="ValidationGroup"/>
            <asp:Button ID="CancelButton" runat="server" Text="No" CausesValidation="false" ValidationGroup="ValidationGroup" />
        </div>
    </div>
</asp:Panel>
<ajaxToolkit:ModalPopupExtender ID="myPanel1ModalPopupExtender" runat="server" 
    PopupControlID="myPanel1"
    TargetControlID="myPanel1" 
    BackgroundCssClass="modalBackground" 
    CancelControlID="CancelButton" 
    OnCancelScript="HideModalPopup()">
    </ajaxToolkit:ModalPopupExtender>

C#代码

HyperLink link = (HyperLink)e.Row.FindControl("Button2");
link.Attributes.Add("onclick", String.Format("ShowApproveModalPopup('{0}');", Id));

I am populating rows for GridView and binding them at the backend.
In every row, there is a column that has a HyperLink with ID = "Button2"
After hitting Button2 HyperLink, the modal popup gets "myPanel1" to the screen.
In myPanel1, I have another asp:Panel tag with ID = "CheckBox1Panel"
In this panel, I have an asp:Checkbox element.
And I can not check-uncheck this Checkbox element. Its ID is "CheckBox1"

Here is my code

Javascript Code

function ShowApproveModalPopup(Id)
{ 
    var modal = $find('ctl00_MainContentPlaceHolder_myPanel1ModalPopupExtender');
    document.getElementById('ctl00_MainContentPlaceHolder_HiddenField1').value=Id; 

    modal.show();
    
    return false;
}

function HideModalPopup()
{
    var modal = $find('ctl00_MainContentPlaceHolder_myPanel1ModalPopupExtender');
    modal.hide();
}

Html code

<asp:GridView ID="GridView1" runat="server" 
                            Width="100%" 
                            DataKeyNames="Id" 
                            AutoGenerateColumns="False" 
                            EmptyDataText="<br /><br /><br />File could not be found!<br /><br /> 
<br/><br />" 
                            OnRowDataBound="GridView1_RowDataBound" 
                            OnPageIndexChanging="GridView1_PageIndexChanging" 
                            OnSelectedIndexChanging="GridView1_SelectedIndexChanging" 
                            AllowPaging="true" 
                            PageSize="25" OnRowCommand="GridView1_RowCommand">
    <Columns>
                                    <asp:TemplateField>
                        <ItemTemplate>
                            <table cellpadding="0" cellspacing="0" width="100%" border="0" style="border:0px;">
                                <tr>
                                    <td id="OperationPanelTableCell1" runat="server"  style="width:16px; border-left:0px; border-right:0px; border-top:0px; border-bottom:0px;" align="left">
                                       <asp:HyperLink ID="Button2" runat="server" NavigateUrl="#"><asp:Image ID="Image1" runat="server" ImageUrl="~/Images/02.png" AlternateText="asdf" /></asp:HyperLink>
                                    </td>
                                </tr>
                            </table>
                        </ItemTemplate>
                        <ItemStyle HorizontalAlign="Center" />
                    </asp:TemplateField>
    </Columns>
    <RowStyle Height="30px" />
</asp:GridView>
<asp:Panel ID="myPanel1" runat="server" Height="304px" Width="425px" Style="display: none;">
    <asp:HiddenField ID="HiddenField1" runat="server" />
    <div id="dialog-mask">
    </div>
    <div id="dialog">
        <div id="dialog-header" class="confirmheader">
            <div id="dialog-title">
                Deneme
            </div>
            <div style="text-align:right;">
                <asp:ImageButton ID="CloseImage" runat="server" ImageUrl="~/Images/close.gif" OnClientClick="HideModalPopup()" />
            </div>
        </div>
        <div id="dialog-content" class="confirm">
            <asp:Panel ID="CheckBox1Panel" runat="server">
                <asp:CheckBox ID="CheckBox1" ClientIDMode="Static" runat="server" />
            </asp:Panel>
            <asp:Button ID="OKButton" runat="server" Text="Yes" OnClick="OKButton_Click" CausesValidation="false" UseSubmitBehavior="false" ValidationGroup="ValidationGroup"/>
            <asp:Button ID="CancelButton" runat="server" Text="No" CausesValidation="false" ValidationGroup="ValidationGroup" />
        </div>
    </div>
</asp:Panel>
<ajaxToolkit:ModalPopupExtender ID="myPanel1ModalPopupExtender" runat="server" 
    PopupControlID="myPanel1"
    TargetControlID="myPanel1" 
    BackgroundCssClass="modalBackground" 
    CancelControlID="CancelButton" 
    OnCancelScript="HideModalPopup()">
    </ajaxToolkit:ModalPopupExtender>

C# code

HyperLink link = (HyperLink)e.Row.FindControl("Button2");
link.Attributes.Add("onclick", String.Format("ShowApproveModalPopup('{0}');", Id));

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沐歌 2025-02-15 17:22:15

我找到了解决方案。
我已经在面板中添加了一个隐藏的场,然后将其ID给出了ModalPopupextender的Target Controlid属性。如果需要,也可以使用按钮而不是HiddenField元素。而且您不必使用内部ASP:面板,但是就我而言,我需要一个内部面板

的最后一个状态,如

<asp:Panel ID="myPanel1" runat="server" Height="304px" Width="425px" Style="display: none;">
<asp:HiddenField ID="HiddenField1" runat="server" />
<div id="dialog-mask">
</div>
<div id="dialog">
    <div id="dialog-header" class="confirmheader">
        <div id="dialog-title">
            Deneme
        </div>
        <div style="text-align:right;">
            <asp:ImageButton ID="CloseImage" runat="server" ImageUrl="~/Images/close.gif" OnClientClick="HideModalPopup()" />
        </div>
    </div>
    <div id="dialog-content" class="confirm">
        <asp:Panel ID="CheckBox1Panel" runat="server">
            <asp:CheckBox ID="CheckBox1" ClientIDMode="Static" runat="server" />
            <asp:HiddenField runat="server" ID="SolutionIsHiddenField"/>
        </asp:Panel>
        <asp:Button ID="OKButton" runat="server" Text="Yes" OnClick="OKButton_Click" CausesValidation="false" UseSubmitBehavior="false" ValidationGroup="ValidationGroup"/>
        <asp:Button ID="CancelButton" runat="server" Text="No" CausesValidation="false" ValidationGroup="ValidationGroup" />
    </div>
</div>
</asp:Panel>

ModalPopupExtender下方

<ajaxToolkit:ModalPopupExtender ID="myPanel1ModalPopupExtender" runat="server" 
    PopupControlID="myPanel1"
    TargetControlID="SolutionIsHiddenField" 
    BackgroundCssClass="modalBackground" 
    CancelControlID="CancelButton" 
    OnCancelScript="HideModalPopup()">
    </ajaxToolkit:ModalPopupExtender>

Guys i have found the solution.
I have added a HiddenField in Panel and then gave it's id to TargetControlID attribute of ModalPopupExtender. If you want, you can also use button instead of HiddenField element. And also you don't have to use an inner asp:Panel but in my case i need an inner panel

Last state of my code is as below

<asp:Panel ID="myPanel1" runat="server" Height="304px" Width="425px" Style="display: none;">
<asp:HiddenField ID="HiddenField1" runat="server" />
<div id="dialog-mask">
</div>
<div id="dialog">
    <div id="dialog-header" class="confirmheader">
        <div id="dialog-title">
            Deneme
        </div>
        <div style="text-align:right;">
            <asp:ImageButton ID="CloseImage" runat="server" ImageUrl="~/Images/close.gif" OnClientClick="HideModalPopup()" />
        </div>
    </div>
    <div id="dialog-content" class="confirm">
        <asp:Panel ID="CheckBox1Panel" runat="server">
            <asp:CheckBox ID="CheckBox1" ClientIDMode="Static" runat="server" />
            <asp:HiddenField runat="server" ID="SolutionIsHiddenField"/>
        </asp:Panel>
        <asp:Button ID="OKButton" runat="server" Text="Yes" OnClick="OKButton_Click" CausesValidation="false" UseSubmitBehavior="false" ValidationGroup="ValidationGroup"/>
        <asp:Button ID="CancelButton" runat="server" Text="No" CausesValidation="false" ValidationGroup="ValidationGroup" />
    </div>
</div>
</asp:Panel>

ModalPopupExtender

<ajaxToolkit:ModalPopupExtender ID="myPanel1ModalPopupExtender" runat="server" 
    PopupControlID="myPanel1"
    TargetControlID="SolutionIsHiddenField" 
    BackgroundCssClass="modalBackground" 
    CancelControlID="CancelButton" 
    OnCancelScript="HideModalPopup()">
    </ajaxToolkit:ModalPopupExtender>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文