Bootstrap 3 çoklu (multi) remote modal kullanımında aynı içerik açılıyor

alattin (17127) 10 yıl önce sordu

Asp.Net Mvc uygulamasında,   foreach döngüsü içerisinde Bootstrap 3.0 modal kullanıyorum. Linkler ve çalışan metot doğru olmasına rağmen aynı sayfada birden fazla modal kullandığımda modal pencereler içerisinde ilk tıklanılan linkin içeriği geliyor.

<a data-target="#ajax" data-toggle="modal" href="/Masraf/Goruntule/97" class="btn "><i class="icon-zoom-in"></i>Görüntüle</a>
<a data-target="#ajax" data-toggle="modal" href="/Masraf/Goruntule/98" class="btn "><i class="icon-zoom-in"></i>Görüntüle</a>
<a data-target="#ajax" data-toggle="modal" href="/Masraf/Goruntule/99" class="btn "><i class="icon-zoom-in"></i>Görüntüle</a>

yukarıdaki ornekte 

/Masraf/Goruntule/97
/Masraf/Goruntule/98

gibi linkler tıklanıldığında modal pencere içerisinde ilk tıklanan linkin içeriği geliyor.

Bootstrap 3.0 çoklu modal remote  kullanıldığında aynı içerik neden geliyor?

Toplam 1 cevap


alattin (17127) 10 yıl önce cevapladı

Bootstrap içerisindeki Modal objesi uzak kaynaktan gelecek veriyi, modal objenin yapıcısı (constructor) içerisinde yükleyecek şekilde tasarlanmıştır.

Bu sebepten siz remote özelliğine sonradan atama yapsanızda, nesne oluşturulduktan sonra remote  özelliğini değiştiremezsiniz.

Bu sorunu çözmek için önce Modal nesnesini yok etmeniz sonra yeniden oluşturmanız lazım.

Bootstrap 3.0 daki çoklu modal sorununu çözmek için şu kodu kullanabilirsiniz.

<script>
    $().ready(function () {
        $('body').on('hidden.bs.modal', '.modal', function () {
            $(this).removeData('bs.modal');
        });      
</script>