0

我正在创建一个 asp.net c# web 应用程序。其中我有一个 ajax 模态弹出窗口,其中包含一个 GridView。ModalPopUp 的高度是根据 GridView 的高度自动设置的(这取决于 GridView 内部的数据)。现在我想要的是,当 Popup 的高度变得大于其父页面时,那时我想重置 PopUp 的高度(小于父页面)并在其上设置一个滚动条。所有这一切我想动态地做客户端。为此,我使用以下代码

    function ShowPopUp_AllPrices() {          
    $find('popupAllPrices').show();       
    return false;   
    }



<asp:LinkButton ID="lnkProduct" runat="server"></asp:LinkButton>
<ajaxToolkit:ModalPopupExtender ID="ModalPopupProduct" runat="server" BehaviorID="popupProduct"
    TargetControlID="lnkProduct" PopupControlID="pnlAddProduct"    BackgroundCssClass="modalBackground" />
<asp:Panel ID="pnlAddProduct" runat="server" Style="display: none; width: 80%; font-size: 8pt;">

 <div>
        <asp:LinkButton ID="lnkAllPrices" runat="server"></asp:LinkButton>
        <ajaxToolkit:ModalPopupExtender ID="ModalPopupAllPrices" runat="server" BehaviorID="popupAllPrices"
            TargetControlID="lnkAllPrices" PopupControlID="pnlAllPrices" BackgroundCssClass="modalBackground"  />
        <asp:Panel ID="pnlAllPrices" runat="server" Style="display: none; width: 30%; font-size: 8pt; ">
      <div class="art-blockcontent">
                        <div class="art-BlockContent-body">
                            <%--<div style="overflow: auto; width: 100%; height: 200px;">--%>
                            <table width="100%">
                                <tr>
                                    <td align="center">
                                        <div style="overflow: auto; width: 100%; "><%--height: 200px;--%>
                                            <asp:GridView ID="grvPriceTypes2" runat="server" AutoGenerateColumns="False"      AllowSorting="true"
                                                EmptyDataText="No Data Found." Width="90%" CssClass="cssGrid" BackColor="WhiteSmoke"
                                                PagerStyle-HorizontalAlign="Center" OnRowCommand="grvPriceTypes2_OnRowCommand"
                                                Enabled="false">
                                                <Columns>
                                                    <asp:BoundField DataField="StartDate" HeaderText="Start Date"      DataFormatString="{0:MM/dd/yyyy}"
                                                        ItemStyle-HorizontalAlign="Center" ItemStyle-Width="25%" />
                                                    <asp:BoundField DataField="EndDate" HeaderText="End Date"     DataFormatString="{0:MM/dd/yyyy}"
                                                        ItemStyle-HorizontalAlign="Center" ItemStyle-Width="20%" />
                                                    <asp:BoundField DataField="PriceType" HeaderText="Type"      ItemStyle-HorizontalAlign="Center"
                                                        ItemStyle-Width="15%" />
                                                    <asp:BoundField DataField="Price" HeaderText="Price"      ItemStyle-HorizontalAlign="right"
                                                        ItemStyle-Width="20%" />
                                                </Columns>
                                            </asp:GridView>
                                        </div>
                                    </td>
                                </tr>
                            </table>                                                            
                        </div>
                    </div>
  </asp:Panel>
    </div>
 </asp:Panel>

请告诉我我应该在 ShowPopUp_AllPrices() 函数中编写什么代码来设置该模态弹出窗口的高度和滚动条。

4

2 回答 2

2

我的问题解决了。我刚刚设置了 div 标签的“最大高度”样式属性,它位于我的 Grid.Like 上方:

<div style="overflow: auto;max-height:400px; width: 100%;" >

通过在 style 属性下给出“max-height”,当 pop 的高度增加超过 400px 时,它会自动在该 popup 内给出滚动条。

于 2012-09-20T06:04:51.743 回答
0
divWindow.dialog({
    autoOpen: true,                                   
    title: "Menu Items",
    draggable: true,
    resizable: false,
    modal: true,
    width:($(window).width() * .9),
    height: ($(window).height() * .9),
    dialogClass: 'dialogFixed',
    open: function(event, ui) 
});
于 2012-09-18T14:21:12.690 回答