我是 AjaxControlToolKit 的初学者。当单击 asp 按钮时,我正在尝试填充 GridView 并在 ModalPopup 中显示。分页应该在弹出的gridview中启用。我怎样才能做到这一点 ?
2 回答
如果我理解正确,你可以这样做。我认为您尝试使用 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 更好的方法。我希望这有帮助。
将此代码复制到您的页面,然后根据您的要求编辑 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>