Bootstrap Modal - Добавить серверный код ASP.Net

1

Чистое веб-приложение, реализующее 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: мне нужно использовать панель обновления?

Теги:
twitter-bootstrap-3
c#-4.0

1 ответ

0
Лучший ответ

Панель обновления, вероятно, не будет лучшим решением для этого, потому что обновляется только частичное количество 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);
    }
  • 0
    Мой ответ предполагает, что вы вызываете событие Click_Me с кнопки внутри модального окна. В противном случае функциональность по умолчанию для модального окна заключается в закрытии, когда вы щелкаете за его пределами. В любом случае вам понадобится способ открыть резервную копию и отобразить ваши обновления после постбэка.
  • 0
    Привет Итак, я изменил код, как показано ниже - добавил кнопку - <asp: Button ID = "Button5" role = "button" OnClick = "Click_Me" runat = "server" Text = "Modal" class = "btn btn-lg btn -success "data-toggle =" modal "data-target =" # myModal "/>, а затем добавил ниже в c # ScriptManager.RegisterClientScriptBlock (this.Page, this.Page.GetType ()," script "," <script type = 'text / javascript'> $ (document) .ready (function () {$ ('# MyModal'). modal ('show')}); </ script> ", false); - но я не вижу модального появления - ??? Я что-то здесь упускаю?
Показать ещё 8 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню