2013-07-21 3 views
8

У меня немного неприятности с освежающим PartialView на mvc4, вот код:Обновить только частичный вид в MVC4

<div id="partialViewDiv"></div> 

    <input type="button" id="firstPartialLink" value="Change Div"/> 
    <input type="button" id="secondPartialLink" value="Change Div"/> 

    <script type="text/javascript"> 
     $(function() { 
      $("#firstPartialLink").click(function() { 

       $("#partialViewDiv").load('@Url.Action("GetDiv", "Home")'); 

      }); 

      $("#secondPartialLink").click(function() { 

       $("#partialViewDiv").load('@Url.Action("GetDiv2", "Home")'); 
      }); 
     }) 

    </script> 

При нажатии на одну из кнопок в первый раз, он делает частичное представление внутри DIV, но когда я нажимаю его снова, ничего не происходит, что будет причиной?

+0

Что ты пользуешься 'e.preventDefault();'? –

+0

Это был какой-то старый код, и я забыл его удалить, извините –

ответ

11

пытаются использовать этот делегат для обработки нажмите событие

  $(document).on("click","#firstPartialLink",function() { 

       $("#partialViewDiv").load('/Home/GetDiv',function(html) { if need it}); 

      }); 
+0

Это сработало! но почему? в чем разница между этим и тем, что я делал? –

+0

Установите этот делегат, работая в одном личном элементе dom, тогда как простой обработчик кликов, работающий со всеми элементами, а делегат «on» будет поддерживать в новых версиях jquery и других методах «bind» и «click» будет неподдерживаться. –

+0

О, я вижу ... Спасибо! –

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