Bootstrap Modal мигает / исчезает мгновенно - ASP.NET gridview RowCommand - PullRequest
1 голос
/ 19 апреля 2019

Доброе утро всем. Кажется, я застрял между камнем и наковальней, и боюсь, что мне не хватает чего-то невероятно простого В настоящее время я занимаюсь разработкой приложения для веб-форм с использованием элемента управления ASP.NET GridView.

У меня есть модал начальной загрузки, предназначенный для отображения деталей строки в виде сетки через кнопку ASP в каждой строке. Я понимаю, что есть другие сообщения на эту тему, но моя проблема, кажется, немного отличается.

Кнопка, которую я использую для переключения модального режима начальной загрузки, находится в элементе управления asp:

<asp:TemplateField HeaderText="Approval Information">
     <ItemTemplate >
        <asp:Button Text="Stats" runat="server" CommandName="ApprovalModal" type="button" class="btn btn-info" OnClientClick="return false" data-toggle="modal" data-target="#myModal"/>
     </ItemTemplate>
</asp:TemplateField>

Эта кнопка в настоящее время может переключать мой модал очень хорошо. Проблема в том, что я хочу подписаться на событие RowCommand в GridView, чтобы можно было изменить текст элемента управления ASP Literal в модальном режиме, чтобы при нажатии на него отображалась статистика строк для каждой отдельной строки:

  protected void gvwApprovals_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "ApprovalModal")
        {
            approvalModalText.Text = "Some Unique Row Stats";
            approvalModalText.Visible = true;
        }
    }

Единственный способ, которым я могу подписаться на это событие и запустить его, это если я вывезу OnClientClick="return false"

Однако, если я уберу это из кнопки ASP, я подпишусь на событие, но тогда модал начальной загрузки теперь просто мигает и исчезает.

Вот мой модал:

<!-- Modal -->
<div class="modal fade" id="myModal" role="dialog">
  <div class="modal-dialog">
    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-header" style="display: block;">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Approval Information - Relevant Statistics</h4>
      </div>
      <div class="modal-body" >
        <asp:Literal ID="approvalModalText" runat="server" Text='placeholder' Visible="false" />
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>
  </div>
</div>

Что мне здесь не хватает? Доступно, чтобы уточнить любые дальнейшие вопросы. Довольно плохо знаком с элементами управления ASP в целом, поэтому я не уверен, что есть что-то сверхпростое, о котором я мог бы просто не знать.

РЕДАКТИРОВАТЬ:

Конечно, есть сообщение, в котором запускается команда RowCommand, которая перезагружает страницу, и модальное сообщение исчезает. Спасибо Алексу за то, что он указал мне на это в комментариях (я знал, что это было что-то глупое и простое). Необходимо использовать RegisterStartupScript в обработчике команд строки, чтобы показать модальное, а не просто прямое переключение. jQuery здесь я прихожу.

...