美好的一天!
我在Asp.Net中有一个GridView,其中,如果用户单击<a>
标记,它将启动一个模态,其中包含所选网格行的值。该代码使用javascript命令检索数据,然后将其分发到指定的模式。
事实是,filename
被传递到隐藏的模式文本框。现在,模态内部是一个OnClick
命令按钮,如果单击该按钮,则应触发该命令。
我已经尝试过了,但是它运行良好,但是当我添加另一个模态(主要是为了添加目的)时,按钮上的命令不再起作用。如果我尝试删除另一个模态,则该命令现在可以工作了。我对为什么会这样感到困惑?
GridView按钮
<a data-id="<%#Eval("Id") %>" title="Delete User" class="open-DeleteDialog btn btn-danger" data-toggle="modal" data-target="#DeleteUser">Delete</a>
脚本
<script type="text/javascript">
$(function () {
$(".open-DeleteDialog").click(function () {
document.getElementById("<%=IdVal.ClientID%>").value = $(this).data('id');
$("#DeleteUser").modal("show");
});
});
</script>
第一模态
<div class="modal fade" id="DeleteUser" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle1" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<!-- Modal Head -->
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLongTitle1">Modal title</h5>
</div>
<!-- Modal Body -->
<div class="modal-body">
<div class="form-horizontal">
<h2>Are you sure you want to delete this user?</h2>
<div class="form-group">
<div class="col-md-10">
<asp:TextBox runat="server" ID="IdVal" CssClass="form-control" />
</div>
</div>
</div>
</div><!--End tag of Modal Body -->
<!-- Modal Footer -->
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<asp:Button runat="server" OnClick="Delete1User_Click" onServerClick="Delete1User_Click" Text="Delete User" CssClass="btn btn-Success" />
</div>
</div>
</div>
</div>
其他模态-与所需模态冲突的一种
<!-- Add Modal -->
<div class="modal fade" id="AddUser" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<!-- Modal Head -->
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLongTitle">Modal title</h5>
</div>
<!-- Modal Body -->
<div class="modal-body">
Some code here
</div>
</div><!--End tag of Modal Body -->
<!-- Modal Footer -->
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<asp:Button runat="server" OnClick="CreateUser_Click" Text="Add User" CssClass="btn btn-Success" />
</div>
</div>
</div>
</div>
第一个模态后面的代码
protected void DeleteUser_Click(object sender, EventArgs e)
{
conn.Open();
SqlCommand cmd = new SqlCommand("sp_deleteuser", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("UserId", bookId1.Text);
cmd.ExecuteNonQuery();
cmd.Dispose();
conn.Close();
Response.Redirect(Request.RawUrl);
}
冲突模式后面的代码
protected void CreateUser_Click(object sender, EventArgs e)
{
Some code here
}
为什么在模式中发生冲突,其中我的“删除”按钮命令不起作用但仍可单击?除此之外,即使我在按钮上添加了引导类,也无法使用。
提前感谢!
好我可以借助here的答案解决问题。因为我有另一个带有ControlToValidate
的模态,所以发生的是其他模态值得到了验证,并且由于里面没有任何值,因此什么也没有发生。我可以通过添加以下代码来绕过此操作:CausesValidation="False"
<asp:Button Id="btnDeleteUser" runat="server" Text="Delete User" OnClick="DeleteUser_Click" CssClass="btn btn-Success" CausesValidation="False" />