создать URL с помощью @ Url.Action - PullRequest
1 голос
/ 22 декабря 2011

У меня вопрос по поводу Url.Action.

Моя позиция на http://localhost/User/Edit, и в некоторых случаях мне нужно сгенерировать ссылку с помощью функции javascript, поэтому это будет выглядеть так:

 return '<a href="@Url.Action("Group","Edit")/' +myParameterInJavascript +'>link</a>';

Если я посмотрю ссылку, все будет в порядке, я получил: http://localhost/Group/Edit/ParameterFromJsНо тогда, когда моя текущая позиция будет http://localhost/Group/Edit/ParameterFromJs, и я сгенерирую ту же самую ссылку снова, URL станет:

http://localhost/Group/Edit/ParameterFromJs/ParameterFromJs

Почему бы мне просто не получитьurl http://localhost/Group/Edit/ParameterFromJs? Почему мое действие было Edit / ParameterFromJs, а не просто Edit?

Можете ли вы дать мне несколько подсказок или советов?Заранее спасибо

ОБНОВЛЕНИЕ: Это мой маршрут:

routes.MapRoute("group-edit",
            "Group/Edit/{groupName}",
            new
            {
                controller = "Group",
                action = "Edit"
            }
        );

Ответы [ 2 ]

5 голосов
/ 22 декабря 2011

Попробуйте использовать маршрутизацию:

var url = '@Url.Action("Group", "Edit", new { id = "__id__" })'.replace('__id__', myParameterInJavascript);
return '<a href="' + url + '">link</a>';
0 голосов
/ 23 декабря 2011

Попробуйте использовать что-то подобное:

<a href="@Url.Action("Edit", "Group", new { EditParam = myParameterInJavascript })">

Когда вы вводите параметр использовать "?" не "/"

 http://localhost/Group/Edit?ParameterFromJs
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...