0

我是 AjaxControlToolKit 的初学者。当单击 asp 按钮时,我正在尝试填充 GridView 并在 ModalPopup 中显示。分页应该在弹出的gridview中启用。我怎样才能做到这一点 ?

4

2 回答 2

0

如果我理解正确,你可以这样做。我认为您尝试使用 jQuery 而不是 AjaxControlToolkit 会更容易。您需要安装 jQuery 插件,最简单的方法是使用 Visual Studio 中的 NuGet 包管理器。您只需搜索 jQuery,您需要的库就会显示出来。然后你会想把它放在标题中(或标签之后)。

查询:

 <script type="text/javascript">
          function showpopup() {
                 $("#popup").dialog({
                  modal: true,
                  width: 590,
                  buttons: {
                  Ok: function () {
                  $(this).dialog("close");
                   }
                }
              });
           };
 </script>

这是将显示的弹出窗口。如您所知,此弹出窗口中没有网格视图,但它正在调用函数“#popup”。这是您的网格视图所在的位置。这就是我的外观与一些额外的控件,如按钮和标签。

HTML 标记:

 <div class="popUpStyle" title="Duplicate Deal Found!" id="popup" style="display: none">
    <asp:GridView ID="gvDealTracking" runat="server" Width="200px" AutoGenerateColumns="False">
      <Columns>
    <asp:TemplateField HeaderText="VehicleID" HeaderStyle-Wrap="false" Visible="false">
        <ItemTemplate>
         <asp:Label ID="lblDupVehicleID" runat="server" Text='<%# Bind("VehicleID") %>'></asp:Label>
        </ItemTemplate>
        <HeaderStyle Wrap="False" />
   </asp:TemplateField>
    <asp:TemplateField HeaderText="Stock #" HeaderStyle-Wrap="false">
       <ItemTemplate>
          <asp:Label ID="lblDupStockNumber" runat="server" Text='<%# Bind("StockNumber") %>'></asp:Label>
        </ItemTemplate>
     <HeaderStyle Wrap="False" />
</asp:TemplateField>
              ..... 
              ....
        </Columns>
</asp:GridView>
                <br />
 <asp:Button ID="btnUse" runat="server" UseSubmitBehavior="false" CausesValidation="false" OnClick="btnUse_Click" Text="Use"></asp:Button>
 <asp:Label ID="lblMessagePop" runat="server"></asp:Label>
          <br />
 </div>

正如您所见,其中有网格确实有一个 css 样式附加到它(class="popUpStyle")。我的长这样。。

CSS:

.wm {
        color: Gray;
 }

 .popUpStyle {
    font: normal 11px auto "Trebuchet MS", Verdana;
      /*background-color: gray;*/
      color: black;
      padding: 6px;
      filter: alpha(opacity=80);
      opacity: 0.8;
 }

你也想把它放在后面。然后,您可以在页面加载或任何您想要的方式中填充此网格视图。我填充我的方法是检查数据库中是否已经存在“DealNumber”,如果存在,则显示此弹出窗口。我不确定你打算如何填充gridview,但既然你说你想在页面加载时使用它,你可以使用DataTable ..类似..

c#背后的代码:

   DataTable dt = new DataTable();
   SqlDataAdapter cmdReturnExisting = new SqlDataAdapter("SELECT VehicleID, StockNumber, Dealership, FIMAST, DealDate, Buyer, GrossProfit, AmtFinanced, BankName FROM Vehicle WHERE FIMAST = '" + DealNumber + "';", conn);
     cmdReturnExisting.Fill(dt);
     gvDealTracking.DataSource = dt;
     gvDealTracking.DataBind();

你希望在你的页面加载中,但不要忘记把它放在你的按钮点击后面的代码中......

Page.ClientScript.RegisterStartupScript(this.GetType(), "Call my function", "showpopup();", true);

在我看来,这将是比使用 AjaxControlToolkit 更好的方法。我希望这有帮助。

于 2013-09-30T12:36:30.533 回答
0

将此代码复制到您的页面,然后根据您的要求编辑 Gridview。

<asp:Button ID="btnGrdPopup" runat="server" Text="Show Grid" />

        <ajaxToolkit:ConfirmButtonExtender ID="cbe" runat="server" DisplayModalPopupID="mpeConfirmBox"
            TargetControlID="btnGrdPopup">
        </ajaxToolkit:ConfirmButtonExtender>
        <ajaxToolkit:ModalPopupExtender ID="mpeConfirmBox" runat="server" PopupControlID="pnlPopup"
            TargetControlID="btnDetailPopup" CancelControlID="btnCancel" BackgroundCssClass="modalAppInfoBackground">
        </ajaxToolkit:ModalPopupExtender>




  <asp:Panel runat="server" ID="pnlPopup" Width="450" 
                    Style="display: none;">
                   <asp:Gridview runat="server" ID="gdv">
                         <%-- Your gridview inner code --%>
                   </asp:Gridview>
                  <asp:button runat="server" ID="btnCancel" Text="Cancel"> </asp:Button>
                </asp:Panel>
于 2013-09-30T12:46:18.260 回答