Получение ссылки на действие? - PullRequest
0 голосов
/ 04 января 2012

У меня есть действие в MobileController, называемое «myaction», и я вызываю его с помощью JavaScript следующим образом:

 <script type="text/javascript">
    function SubmitData() {

        $.ajax(
            {
                type: "POST",
                url: "http://localhost:1613/Mobile/myaction",
                data: "id to post",
                success:
                function (result) {
                    window.alert("SUCCESS");
                },
                error: function (req, status, error) {
                    window.alert("ERROR!");
                }
            }
            );
    }
</script>

Обратите внимание, однако, что URL не использует относительные пути, я попытался сделать это просто ~ / Mobile / myaction, но это не сработало.

Любые идеи, как сделать так, чтобы указанный URL работал во всех случаях, а не только в том случае, если домен localhost: 1613? Например, если бы я загрузил его на mysite.com, он нашел бы действие на mysite.com/mobile/myaction.

.

Спасибо за любую помощь!

Ответы [ 4 ]

3 голосов
/ 04 января 2012

Вы пробовали:

url: "@Url.Action(....)",
2 голосов
/ 04 января 2012
 url: "@Url.Content("~/appName/Mobile/myaction/")"

Html :: "/ APPNAME / Mobile / MyAction /"Я предлагаю вам дать вашему приложению виртуальный путь "/ appName", делая это, я позволю вам избежать appName в URL

2 голосов
/ 04 января 2012

Заменить URL на:

url: "/Mobile/myaction"

Со знаком ~ он будет работать только с серверными элементами управления / функциями.

1 голос
/ 04 января 2012

Вы можете использовать что-то вроде этого:

new UrlHelper( HttpContext.Current.Request.RequestContext ).Action( "<action>", "<controller>", new { id = 1 } )

Я использую это именно для передачи значений в функцию JavaScript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...