2011-05-23 27 views
22
@(Html.ActionLink("Link Label", 
    "ActionMethodName", 
    "ControllerName", 
    null, // parameter object, then html object 
    null)) 

produceASP.NET MVC 3 Razor: ¿Cómo obtener URL de acción en una variable de cadena de Javascript?

<a href="/ControllerName/ActionMethodName/">Link Label</a> 

Si quiero hacer referencia a la /ControllerName/ActionMethodName/id en una plantilla de JavaScript para el enlace Edit o New, ¿cómo iba a asignar a una variable que JavaScript?

intento:

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

pero en ese momento, que tendría que utilizar Javascript para eliminar los no deseados <a href... caracteres de la cadena.

Respuesta

40

@Url.Action("ActionMethodName", "ControllerName") generará un camino.

+2

¿Qué sucede si hay un objeto de parámetro/datos? – usefulBee

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

o si ya tiene esta ActionLink algún lugar dentro de la página se puede utilizar directamente:

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

Sólo asegúrese de proporcionar una identificación única con el fin de simplificar la selección:

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