打开漂亮的照片弹出窗口,其中有 aspx 页面在网格视图按钮单击
本文关键字:aspx 网格 单击 按钮 视图 漂亮 照片 窗口 | 更新日期: 2023-09-27 18:36:44
目前我有一个带有网格视图的aspx页面。我想添加一个漂亮的照片弹出窗口,该弹出窗口出现在网格视图中的按钮单击上。弹出窗口将包含所选行的详细信息。我的网格视图如下所示:
<asp:GridView ID="gvBacklog" runat="server" AutoGenerateColumns="false" DataKeyNames="BacklogID" CssClass="table table-striped table-bordered table-condensed table-responsive" DataSourceID="ldsBacklog" AllowPaging="true" AllowSorting="true">
<Columns>
<asp:BoundField DataField="BacklogID" HeaderText="Backlog ID" SortExpression="BacklogID" />
<asp:TemplateField HeaderText="User Story" SortExpression="Story.StoryName">
<ItemTemplate>
<%#Eval("Story.StoryName") %>
</ItemTemplate>
<EditItemTemplate>
<itemtemplate>
<asp:TextBox Id="txtStoryName" runat="server" Text='<%#Bind("Story.StoryName")%>'></asp:TextBox>
</itemtemplate>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Description" SortExpression="Story.StoryDesc">
<ItemTemplate>
<%#Eval ("Story.StoryDesc") %>
</ItemTemplate>
<EditItemTemplate>
<itemtemplate>
<asp:TextBox Id="txtDesc" runat="server" Text='<%#Bind("Story.StoryDesc")%>'></asp:TextBox>
</itemtemplate>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Story Points" SortExpression="Story.StoryPoints">
<ItemTemplate>
<%#Eval ("Story.StoryPoints") %>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlFibbonacci" runat="server" SelectedValue='<%#Bind("Story.StoryPoints")%>'>
<asp:ListItem>0</asp:ListItem>
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>8</asp:ListItem>
<asp:ListItem>13</asp:ListItem>
<asp:ListItem>20</asp:ListItem>
<asp:ListItem>40</asp:ListItem>
<asp:ListItem>100</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Size" SortExpression="Story.Size">
<ItemTemplate>
<%#Eval ("Story.Size") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="WSJF Score" SortExpression="Story.WSJFScore">
<ItemTemplate>
<%#Eval ("Story.WSJFScore") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sprint" SortExpression="Sprint.SprintNumber">
<ItemTemplate>
<%#Eval("Sprint.SprintNumber") %>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlSprint" DataSourceID="ldsSprint" DataValueField="SprintNumber" SelectedValue='<%#Bind("Sprint.SprintNumber") %>' runat="server"></asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Added By" SortExpression="User.Username">
<ItemTemplate>
<%#Eval ("User.Username") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lbEdit" runat="server" CssClass="btn btn-default">
<span class="glyphicon glyphicon-pencil"></span>
</asp:LinkButton>
<asp:LinkButton ID="lbDelete" runat="server" CssClass="btn btn-default" CommandName="Delete">
<span class="glyphicon glyphicon-remove"></span>
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
任何提示或建议都会非常有帮助!我在网上看了一下,似乎什么也找不到。
从网格视图执行弹出窗口是一项棘手的工作。选择行的操作会导致回发,这会严重破坏尝试管理客户端弹出代码。 您必须执行一些箍跳跃才能在回发完成后显示弹出窗口。但是导致回发会破坏使用弹出窗口的目的。
因此,处理此问题的一种方法是确保所有详细信息在初始传递中可用。 为此,可以将 DetailsView(其自己的数据源使用当前行中的键填充)嵌入到当前 GridView 的新模板或现有模板字段中的隐藏div 中。
或者,如果您对回发感到满意,只需在其他所有内容下方的当前页面上抛出一个包含 DetailsView 的隐藏div,然后找出在帖子完成后显示现在填充的 DV 的逻辑。
我使用Bootstrap模式来实现该功能。
<div class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title">Modal title</h4>
</div>
<div class="modal-body">
<p>One fine body…</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div><!-- /.modal-content -->
$('#exampleModal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget) // Button that triggered the modal
})