2016-07-14 2 views
2

Для моего Приложение ASP Webforms Я использую Модаль от Bootstrap для настроек.Предотвращение закрытия Модаль от кнопки ASP NET

<asp:Button CssClass="btn btn-default" data-toggle="modal" data-target="#myModal" OnClientClick="return false;" runat="server" Text="Einstellungen" /> 

Как вы можете видеть, мне уже нужно предотвратить кнопку для обратной передачи. Потому что, если я , нажмите кнопку «Модаль», начнется обратная передача, а модальное будет закрыто.

Так что эта проблема исправлена.

Но теперь, если я открыть модальный и Wanna нажать кнопку в этом Modal:.

<asp:Button runat="server" ID="dropbox" Text="Mit Dropbox anmelden" CausesValidation="false" OnClick="dropboxButton" CssClass="btn btn-info" /> 

модальный близко ... Но я хочу, чтобы пользователь видит, что Accountinformation от него заполняется также У меня есть поле для добавления записей после нажатия кнопки «+». После каждого клика для добавления, модальный будет закрыт ...

Я уже пытался данных фон = «статические» и что-то с Javascript и e.preventDefault();

Любые идеи?

+0

Одна работа вокруг я нашел, потому что у меня были подобные проблемы с кнопки отправки, несмотря на все меры предосторожности, чтобы не представить, является для использования LinkButton. Подпись аналогична, поэтому просто измените ее на LinkButton и повторите попытку. – Peter

+0

Mit Dropbox anmelden это преобразование из asp net в html ... так что снова postback, так что модальная закрыта ... – Cobi

+0

После уточнений, я считаю, что у вас совершенно другая проблема из того, что я пытался предложить. Извините, надеюсь, вы сработали. – Peter

ответ

0

Нажатие кнопки управления ASP.NET на стороне сервера будет вызывать PostBack и ваша страница будет повторно загружены, поэтому модальный будет закрыт. Что вы можете сделать, это вызвать код ниже в событии click для повторного открытия модального после события click:

код позади:

protected void btnClickMe_Click(object sender, EventArgs e) 
{ 
    lblTest.Text = DateTime.Now.ToString("dd MMM yyyy - HH:mm:ss"); 
    ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "showModal();", true); 
} 

.aspx:

<head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script> 
    <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
    <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /> 
    <script type="text/javascript"> 
     function showModal() { 
      $('#myModal').modal('show'); 
     } 

     $(function() { 
      $("#btnShowModal").click(function() { 
       showModal(); 
      }); 
     }); 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
     <input type="button" id="btnShowModal" value="Show Modal" /> 
     <div id="myModal" class="modal fade""> 
      <div class="modal-dialog"> 
       <div class="modal-content"> 
        <div class="modal-header"> 
         <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> 
         <h4 class="modal-title" id="myModalLabel">Modal popup</h4> 
        </div> 
        <div class="modal-body"> 
         <asp:Label ID="lblTest" runat="server"></asp:Label> 
        </div> 
        <div class="modal-footer"> 
         <asp:Button ID="btnClickMe" runat="server" Text="Click Me" OnClick="btnClickMe_Click" /> 
        </div> 
       </div> 
      </div> 
     </div> 
    </form> 
</body> 
+0

вот оно! Хорошо, модальность скоро закрывается и открывается на секунду, но все в порядке. благодаря! – Cobi

+0

Если вы не хотите, чтобы модал закрывался и открывался после PostBack, вы могли бы написать функцию $ ajax в jQuery для вызова [WebMethod] в коде позади.Таким образом модальность будет полностью открыта. –

+0

Или самый простой способ: просто удалите переход из затухания в файл ASPX – Cobi

0

Почему бы не попробовать это

<asp:Button ID="btnSpareRequisition" CssClass="btn btn-primary" runat="server" Text="Request Spare" ClientIDMode="Static" data-toggle="modal" data-target="#requestSpareModalId" OnClientClick="return false"/> 

Вот мой полный код

<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
    <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 


<div class="container"> 
    <h2>Modal Example</h2> 
    <!-- Trigger the modal with a button --> 
<%-- <button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>--%> 
<asp:Button ID="btnSpareRequisition" CssClass="btn btn-primary" runat="server" Text="Request Spare" ClientIDMode="Static" data-toggle="modal" data-target="#myModal" OnClientClick="return false" /> 
    <!-- Modal --> 
    <div class="modal fade" id="myModal" role="dialog"> 
    <div class="modal-dialog"> 

     <!-- Modal content--> 
     <div class="modal-content"> 
     <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal">&times;</button> 
      <h4 class="modal-title">Modal Header</h4> 
     </div> 
     <div class="modal-body"> 
      <p>Some text in the modal.</p> 
     </div> 
     <div class="modal-footer"> 
      <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     </div> 
     </div> 

    </div> 
    </div> 

</div> 
+0

не работает для меня ... после нажатия кнопки он открывается и закрывается ... вызывать обратную передачу (перезагрузить контент) – Cobi

+0

** OnClientClick = "return false" ** добавлено. Теперь попробуйте @PeterH –

+0

да, это работает, но я уже исправлена ​​эта проблема: Моя основная проблема заключается в том, что модаль открыт. Кнопки внутри модального закрывают модальную причину postback, я думаю ... я хочу знать, как предотвратить закрытие модального после того, как я нажму кнопку ** внутри ** модальный , – Cobi

Смежные вопросы