获取动作的链接?

时间:2012-01-04 05:34:36

标签: c# asp.net asp.net-mvc-3

我在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 个答案:

答案 0 :(得分:3)

你试过了吗?

url: "@Url.Action(....)",

答案 1 :(得分:2)

将网址替换为:

url: "/Mobile/myaction"

使用~符号,它只能用于服务器控件/函数。

答案 2 :(得分:2)

 url: "@Url.Content("~/appName/Mobile/myaction/")"


Html ::“/ appName / Mobile / myaction /”
我建议你给你的应用程序虚拟路径“/ appName”这样做我将允许你避免url中的appName

答案 3 :(得分:1)

您可以使用以下内容:

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

我正在使用它来将值传递给javascript函数