0

Ich habe eine ASP.NET MVC C# -Webanwendung.Laden von JQuery in Teilansicht auf MVC

In meiner Layout-Datei habe ich folgenden Ajax-Aufruf

<li class="PriceModal"> 
         @Ajax.ImageActionLink("/InternalDB/Content/downloadCSV.png", "Pareto", "35px", "35px", "PartialViewPriceCalculator", 
         "PriceCalculator", new {@Pareto = "active" }, new AjaxOptions 
         { UpdateTargetId = "PriceCalculator", InsertionMode = InsertionMode.Replace, HttpMethod = "GET"}, new { @style = "padding-top:30px" }) 
    </li> 

Wenn dieser Ajax-Link eine Bootstrap-Modal geladen wird angeklickt wird und eine Teilansicht ist Last innerhalb der Bootstrap Modal. An dieser Stelle sitzen das Bootstrap-Modal und die Teilansicht im Inneren auf meiner bestehenden Seite.

Meine Probleme beginnen, wenn ich jQuery Code innerhalb der Teilansicht platzieren. Ich habe einen Weg gefunden, die jQuery-Code (teilweise) auf das DOM mit dem folgenden Code

$('body').on('jQuery event to be placed here(focus,change,mouseenter)', 'class/ID to be Placed here', function (e) {  
    // jQuery events 
}); 

Dies ermöglicht anhängen mich auf das DOM von meiner Seite auf dem Hintergrund geladen anhängen. Allerdings hat dies eine Menge Probleme. Wie füge ich ein jQuery-Plug-in namens Chosen an eine Dropdown-Liste an, die sich in meiner Teilansicht befindet.

Ich habe experimentiert, indem ich die jQuery in die Ajax-Optionen eingefügt habe und die Onsuccess-Eigenschaft verwendet habe, aber das scheint auch Probleme zu haben.

<li class="PriceModal"> 
         @Ajax.ImageActionLink("/InternalDB/Content/downloadCSV.png", "Pareto", "35px", "35px", "PartialViewPriceCalculator", 
         "PriceCalculator", new {@Pareto = "active" }, new AjaxOptions 
         { UpdateTargetId = "PriceCalculator", InsertionMode = InsertionMode.Replace, HttpMethod = "GET", OnSuccess = "$('.chosen2').chosen({ allow_single_deselect : true })"}, new { @style = "padding-top:30px" }) 
    </li> 

Gibt es einen allgemeinen Ansatz alle benötigten jQuery in einem Popup-Teilansicht zu laden oder ich muss nur für jede spezifische Situation Hacks finden?

Antwort

0

können Sie nur verwenden, um die document.ready Ereignis JavaScript auszuführen, wenn Ihre PartialView Laden beendet:

<div id="partialViewHere"> 
</div> 

<script type="application/javascript"> 
    $(function() { 
     // load whatever you need here 
    }; 
</script> 

ich diese verwenden, um auf eine Anwendung Ereignisse Schaltflächen hinzufügen durch verschiedene PartialView s geladen und es funktioniert perfekt.

+0

Ich habe meine $ (". Selected2"). Ausgewählt ({allow_single_deselect: true}); innerhalb der Funktion, aber es funktioniert nicht. Sollte ich etwas außerhalb hinzufügen? – laz

Verwandte Themen