Подтвердить что ты не робот

ASP.NET MVC 3 Razor: Как получить URL-адрес действия в строковой переменной Javascript?

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

производит

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

Если я хочу ссылаться на /ControllerName/ActionMethodName/id в шаблоне JavaScript для ссылки Edit или New, как бы присвоить это переменной JavaScript?

попытка:

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

но в этот момент мне пришлось бы использовать Javascript для удаления ненужных символов <a href... в строке.

4b9b3361

Ответ 1

@Url.Action("ActionMethodName", "ControllerName") будет генерировать путь.

Ответ 2

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

или если у вас уже есть этот actionLink где-то внутри страницы, вы можете использовать его напрямую:

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

Просто обеспечьте уникальный идентификатор, чтобы упростить выбор:

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