OnClick内的任何在模态崩溃它



首先,请原谅我的英语水平,我在这方面还很新手。

我有这个,它是一个模态2网格视图,一个文本框和三个按钮,你可以看到。我隐藏的表有一个来自sql数据库的信息列表。

模态出现

每当我点击模态中的函数时,例如按钮或行,因为我可以点击行,模态就会消失并崩溃,就像这样。

OnClick后

ASPX模态

<div class="modal fade" id="mymodal" tabindex="-1" role="dialog"
aria-labelledby="exampleModalCenterTitle" aria-hidden="true" data-backdrop="static" data-keyboard="false">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-dialog modal-dialog-centered" role="document">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Monthly Member Payment Detail </h4>
</div>
<div class="modal-body">
<asp:HiddenField ID="hdId" runat="server" />
<asp:HiddenField ID="hdScrollPosition" runat="server" />
<asp:HiddenField ID="hdIndexToSelect" runat="server" Value="-1" />
<asp:HiddenField ID="hdIndexSelected" runat="server" Value="-1" />
<asp:HiddenField ID="hdListCust" runat="server" Value="nada" />
<div class="mainDiv">
<div style="display: table-row; height: 30px;">
<asp:Label ID="Label1" runat="server">Buscar: </asp:Label>
<asp:TextBox ID="txtToSearch" runat="server" Style="height: 25px;" OnTextChanged="onChangedText" AutoPostBack="true"></asp:TextBox>
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/Img/searchImg.png" CssClass="custImgBtn" OnClick="onBtnSearch" />
</div>
<div class="custDiv" style="width: 45%">
<div id="dvdScroll" class="tableFixHead" onscroll="setScrollPosition(this.scrollTop);">
<asp:GridView ID="tableToSelect" runat="server" CssClass="tableFixHead" OnRowDataBound="tableToSelectRowDataBound" OnSelectedIndexChanged="OnToSelectIndexChanged">
<RowStyle CssClass="defaultRowStyle" />
</asp:GridView>
</div>
</div>
<div class="custDiv" style="width: 10%">
<asp:LinkButton CssClass="custButAdd" ID="btnAdd" runat="server" Width="100%" OnClick="btnAdd_Click">
<asp:Image ID="Image1" runat="server" ImageUrl="~/Img/SwipeRightBlack.png" BackColor="Transparent" />
<br />
<asp:Label ID="Label5" runat="server" Text="Añadir"></asp:Label>
</asp:LinkButton>
<asp:LinkButton CssClass="custButRemove" ID="btnRemove" runat="server" Width="100%" OnClick="btnRemove_Click">
<asp:Image ID="Image2" runat="server" ImageUrl="~/Img/SwipeLeftBlack.png" BackColor="Transparent" />
<br />
<asp:Label ID="Label2" runat="server" Text="Eliminar"></asp:Label>
</asp:LinkButton>
</div>
<div class="custDiv" style="width: 45%">
<div class="tableFixHead">
<asp:GridView ID="tableSelected" runat="server" CssClass="tableFixHead" AutoGenerateColumns="False" ShowHeaderWhenEmpty="True" OnRowDataBound="tableSelectedRowDataBound" OnSelectedIndexChanged="OnSelectedIndexChanged">
<RowStyle CssClass="defaultRowStyle" />
<Columns>
<asp:BoundField HeaderText="Nombre Cliente" DataField="Nombre Cliente" />
<asp:BoundField HeaderText="Nombre Contacto" DataField="Nombre Contacto" />
<asp:BoundField HeaderText="E-Mail" DataField="E-Mail" />
<asp:BoundField HeaderText="ID" DataField="ID" />
</Columns>
</asp:GridView>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-flat toolbtn" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
c#

protected void tableToSelectRowDataBound(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[3].Visible = false;
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes["onclick"] = "ToggleOnRowClick('"+e.Row.Cells[3].Text+"',this);";
e.Row.Attributes["style"] = "cursor:pointer";
}
}
protected void OnToSelectIndexChanged(object sender, EventArgs e)
{
if (hdIndexSelected.Value != "-1")
{
int indx = int.Parse(hdIndexSelected.Value);
tableSelected.Rows[indx].BackColor = Color.White;
tableSelected.Rows[indx].BorderColor = Color.DimGray;
tableSelected.Rows[indx].BorderWidth = 1;
hdIndexSelected.Value = "-1";
}
if (hdIndexToSelect.Value != "-1")
{
int indx = int.Parse(hdIndexToSelect.Value);
tableToSelect.Rows[indx].BackColor = Color.White;
tableToSelect.Rows[indx].BorderColor = Color.DimGray;
tableToSelect.Rows[indx].BorderWidth = 1;
}
hdId.Value = tableToSelect.SelectedRow.Cells[3].Text;
tableToSelect.SelectedRow.BackColor = ColorTranslator.FromHtml("#aaaaaa");
tableToSelect.SelectedRow.BorderColor = ColorTranslator.FromHtml("#cf002d");
tableToSelect.SelectedRow.BorderWidth = 2;
hdIndexToSelect.Value = tableToSelect.SelectedRow.RowIndex.ToString();

}

我有更多的代码,但我想我已经把最相关的我希望在这方面有一点帮助,提前感谢

好吧,我只能猜测,但尽量删除这个:

e.Row.Cells[3].Visible = false;

并检查发生了什么。我认为你可能会得到indexoutorange异常。

不管怎样,你试过调试这个应用程序吗?或者在应用程序崩溃的时候记录日志并进行检查?

我发现了这个问题,我很抱歉,因为我没有提供有价值的信息,事实证明这是我拥有的UpdatePanel的问题,所有的内容都在里面。

问题是,每次更新面板更新时,服务器被调用,主体保持不变,但默认的模式有褪色,使其隐藏,因此页面仍然显示在第二张图。

所以我把这个模态移到updatepanel外面,把另一个模态像这样放在里面。

应该是这样的

<body>
<div id="firstModal">
<asp:UpdatePanel>
-- content of modal
</asp:UpdatePanel>
</div>
<asp:UpdatePanel UpdateMode="Conditional">
-- content of the page
</asp:UpdatePanel>
</body>

和主更新面板我添加了一个updatemode条件,因为如果不是他们都会更新,问题将无法解决。

我希望这对需要帮助的人有所帮助,我知道我在为自己缺乏知识而道歉。

最新更新