2016-07-27 12 views
0

Ich habe ein div innerhalb einer cshtml-Datei, die den Blick von einer anderen Aktion zeigt, wie folgt:Wie man Html.Action am Javascript-Ereignis durchführt?

<div id="tabs-1ua"> 
    @Html.Action("Index", "Admin") 
</div> 

Diese bei der ersten Seite zu laden Fein lädt. In einer separaten JS-Datei, ich habe ein Ereignis Fänger für das div wie folgt:

$("a[href='#tabs-1ua']").click(function (event, ui) { 

    $("#tabs-1ua").val("@Html.Action('Index', 'Admin')"); 

}); 

Wie oben zu sehen ist, die val Parameter die gleiche Razor-Code, der in der ursprünglichen div erscheint. Dies bringt mir jedoch nicht das gewünschte Ergebnis der Aktion, die jedes Mal ausgeführt wird, wenn das Div-Ereignis aktiviert wird. Was ist der richtige Weg, um den Rasierklingen-Code bei jedem Auftreten des Ereignisses zu aktivieren? Ich habe sichergestellt, dass das Ereignis durch Tests mit Warnungen erfasst wird, das ist also nicht das Problem.

Vielen Dank.

+0

was ist das Ergebnis? Was passiert gerade? –

+0

@BviLLe_Kid Derzeit zeigt das div immer noch den gleichen Inhalt wie beim ersten Laden, obwohl ich bestätigen kann, dass sich der Inhalt geändert haben sollte. – ITWorker

+0

Haben Sie debugged? Wird die Aktion mit einem Haltepunkt ausgelöst? –

Antwort

2

Sie können versuchen, den gewünschten Inhalt asynchron mit Ajax zu laden, so etwas wie tun:

$("a[href='#tabs-1ua']").click(function (event, ui) { 

    $.ajax({ 
     url: "/Admin/Index", 
     data: {} 
    }).done(function (htmlResponse) { 
     $("#tabs-1ua").html(htmlResponse) 
    }); 
}); 

Dadurch wird das Ergebnis der Aktion innerhalb des div mit id = tabs-1uA.

Vielleicht ist dies ein einfacher Ansatz, lassen Sie mich wissen, wenn ich weitere Hilfe sein kann

+0

Das hat funktioniert! Vielen Dank! – ITWorker

+0

Sie sind willkommen, froh, dass es geholfen hat, Happy Coding! –

Verwandte Themen