Доброе утро всем. Кажется, я застрял между камнем и наковальней, и боюсь, что мне не хватает чего-то невероятно простого В настоящее время я занимаюсь разработкой приложения для веб-форм с использованием элемента управления 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">×</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 здесь я прихожу.