Чистое веб-приложение, реализующее Bootstrap. В настоящее время у меня есть метка и текстовое поле, отображаемое в Bootstrap - Modal, к которому я пытаюсь отправить данные из файла С# сервера. По какой-то причине модаль исчезает и ничего не показывает в пользовательском интерфейсе.
ASPX файл
<!-- Button to trigger modal -->
<a href="#myModal" role="button" runat="server" class="btn btn-lg btn-success" data-toggle="modal">Launch demo modal</a>
<%--<asp:Button ID="Button1" role="button" type="button" runat="server" Text="Modal" class="btn btn-lg btn-success" data-toggle="modal" data-target="#myModal"/>--%>
<!-- Modal -->
<div id="myModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Modal header</h3>
</div>
<div class="modal-body">
<asp:Label ID="Label1" runat="server"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
<div class="modal-footer">
<button class="btn btn-default" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
С# файл
protected void Click_Me(object sender, EventArgs e)
{
Label1.Text = "test label";
TextBox1.Text = "text box text";
modal_Img.Src = "test path";
}
Пожалуйста посоветуй
ps: мне нужно использовать панель обновления?
Панель обновления, вероятно, не будет лучшим решением для этого, потому что обновляется только частичное количество html, и Javascript/JQuery для модальности не вызывается снова после частичной обратной передачи.
Вам нужно каким-то образом снова вызвать Javascript после обратной передачи. Вы можете вызвать Javascript, необходимый для открытия модального события Click_Me
.
protected void Click_Me(object sender, EventArgs e)
{
// do stuff
Label1.Text = "test label";
TextBox1.Text = "text box text";
modal_Img.Src = "test path";
// make sure the modal opens
ScriptManager.RegisterClientScriptBlock(this.Page, this.Page.GetType(), "script", "<script type='text/javascript'>$( document ).ready(function() { $('#MyModal').modal('show')});</script>", false);
}
Click_Me
с кнопки внутри модального окна. В противном случае функциональность по умолчанию для модального окна заключается в закрытии, когда вы щелкаете за его пределами. В любом случае вам понадобится способ открыть резервную копию и отобразить ваши обновления после постбэка.