27 Stimmen

ASP.NET MVC 3 Razor: Wie man Aktion URL in einer Javascript-String-Variable erhalten?

@(Html.ActionLink("Link Label", 
    "ActionMethodName", 
    "ControllerName", 
    null, // parameter object, then html object
    null))

produziert

<a href="stackoverflow.com/ControllerName/ActionMethodName/">Link Label</a>

Wenn ich auf die /ControllerName/ActionMethodName/id in einer JavaScript-Vorlage für die Edit ou New Link, wie würde ich das einer JavaScript-Variablen zuweisen?

Versuch:

<script type="text/javascript">
    var actionUrl = '@(Html.ActionLink("","ActionMethodName",
                                       "ControllerName",null,null))';
</script>

aber an diesem Punkt müsste ich Javascript verwenden, um die unerwünschten <a href... Zeichen in der Zeichenkette.

47voto

Justin Soliz Punkte 2751

@Url.Action("ActionMethodName", "ControllerName") wird einen Pfad erzeugen.

12voto

Darin Dimitrov Punkte 990883
<script type="text/javascript">
    var actionUrl = @Html.Raw(Json.Encode(Url.Action("ActionMethodName", "ControllerName")));
</script>

oder wenn Sie diesen actionLink bereits irgendwo auf der Seite haben, können Sie ihn direkt verwenden:

var actionUrl = $('#mylink').attr('href');

Achten Sie nur darauf, eine eindeutige Kennung anzugeben, um die Auswahl zu vereinfachen:

@(Html.ActionLink(
    "Link Label", 
    "ActionMethodName", 
    "ControllerName", 
    null,
    new { id = "mylink" })
)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X