2014-06-17 3 views
2

Я вызываю функцию javascript с помощью кнопки, чтобы скрыть и показать содержимое. Но когда я нажимаю кнопку, вся страница обновляется.Обновление страницы при нажатии кнопки в asp.net

Вот мой код: lcont.ascx

<asp:Button ID="lbutt" runat="server" Text="test" OnClientClick="Javascript: show(1); " /> 
<script type="text/javascript"> 
function show(id) { 
    if (id == 1) { 
     $("#cont1").hide(); 
     $("#cont2").show(); 
    } 
} 

Далее я следующий код в cont.aspx

<div id="cont1" >  
     helo world 
    </div> 

    <div id="cont2" style=" display:none; " > 
      heloo nepal 
     </div> 
  • lcont.ascx является пользовательский элемент управления файл, который вызывается на страницу cont.aspx через главную страницу

ответ

2

У вас есть несколько вариантов:

Вариант 1

Просто добавьте return false; в существующий код, чтобы предотвратить постбэк:

OnClientClick="Javascript: show(1); return false;" 

Вариант 2

Добавьте его ваша функция:

OnClientClick="return show(1);" 

function show(id) { 
    if (id == 1) { 
     $("#cont1").hide(); 
     $("#cont2").show(); 
    } 

    return false; 
} 

Вариант 3

Заменить кнопку ASP.Net с простой старой кнопки HTML.

<button id="lbutt" type="button" onClick="show(1)">Test</button> 
+0

Вариант 1 работал для меня - спасибо! – Cordell

-1

Добавить возвращение ложной функционировать.

<asp:Button ID="lbutt" runat="server" Text="test" OnClientClick="return show(1); " /> 
    <script type="text/javascript"> 
    function show(id) { 
     if (id == 1) { 
      $("#cont1").hide(); 
      $("#cont2").show(); 
     } 
     return false; 
    } 
    </script> 
+0

@freefaller это нормально, как я думаю. –

+1

@ Şhȇkhaṝ, справедливая точка, я снимаю свой комментарий. Но код идентичен уже предоставленному ответу, с меньшим объяснением, поэтому мой -1 остается – freefaller

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