【发布时间】:2014-02-20 15:08:14
【问题描述】:
我有以下标记:
<asp:GridView ID="Users" runat="server"
CssClass="table table-hover table-striped" GridLines="None"
AutoGenerateColumns="False" AllowPaging="True" AllowSorting="True" DataKeyNames="Id" DataSourceID="UsersSqlDataSource">
<Columns>
<asp:BoundField DataField="Id" HeaderText="Id" ReadOnly="True" SortExpression="Id" Visible="false" />
<asp:BoundField DataField="UserName" HeaderText="UserName" SortExpression="UserName" />
<asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" />
<asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" />
<asp:BoundField DataField="Email" HeaderText="Email" SortExpression="Email" />
<asp:CommandField ShowEditButton="True" ControlStyle-CssClass="btn btn-info" />
<asp:CommandField ShowDeleteButton="True" ControlStyle-CssClass="btn btn-info" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="UsersSqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:DefaultConnection %>"
SelectCommand="SELECT [UserName], [Id], [FirstName], [LastName], [Email] FROM [AspNetUsers]"
DeleteCommand="DELETE FROM AspNetUsers WHERE [Id]= @Id"
UpdateCommand="UPDATE AspNetUsers SET FirstName = @FirstName, LastName = @LastName, Email = @Email WHERE (Id = @Id)"></asp:SqlDataSource>
</div>
我没有任何用于 GridView 的 RowCommand、RowDeleting 事件。一切都由 sql 数据源处理。单击 GridView 的删除按钮时,如何显示引导模式确认?
我能够通过使用 RowDataBound 事件来显示常规确认对话框,但不确定如何使用引导模式而不是常规确认?
我在网格中添加了一个 RowCommand 事件,我正在执行以下操作:
protected void Users_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
var sb = new System.Text.StringBuilder();
sb.Append(@"<script type='text/javascript'>");
sb.Append("$('#deleteModal').modal('show');");
sb.Append(@"</script>");
ScriptManager.RegisterStartupScript(this, this.GetType(), "DeleteModalScript", sb.ToString(), false);
}
}
我有一个 SiteMaster,最初将脚本放在底部,但单击删除时无法弹出模式,因此我将脚本放在顶部(Jquery 和 Bootstrap)。如果可能的话,我宁愿他们排在最后。
所以现在我得到了弹出模式,但即使我按下取消它仍然会删除记录。
CommandFields's 和Command Name "Delete" and "Edit" 是问题所在。我是否应该以asp:ButtonField等其他方式处理删除和编辑记录?
切换到 asp:ButtonField 有效,但我现在的问题是底部的 javascript 而不是顶部?
【问题讨论】:
标签: asp.net gridview twitter-bootstrap-3 sqldatasource