如何使用ASP.NET MVC将URL注入jquery AJAX?

时间:2009-09-10 14:28:42

标签: jquery asp.net-mvc ajax

我正在尝试通过jquery和ASP.NET MVC一起使用AJAX,但我无法点击我的控制器操作,我认为这可能是因为我的网址没有正确指定。

问题是,我不确定应该是什么!

假设我有一个名为“Home”的控制器,以及一个名为“AjaxAction”的动作,jquery会是这样吗?

$.get("Home/AjaxAction");

这对我来说似乎没有用,所以我想知道是否有一种更正确的方法可以使用Html助手或ASP.NET MVC中的某些东西来做到这一点。

例如,是否有人尝试过这样的事情?

<a href="#" 
    onclick="doSomeFunction('<%= Url.Action("AjaxAction", "Home") %>')">
    Click Me
</a>
<script>
    function doSomeFunction(url)
    {
        $.get(url);
    }
</script>

那会工作还是我在错误的树上吠叫?我自己尝试过,但它没有用,但我不确定是不是因为我做错了什么,或者是因为整个方法都不正确。

3 个答案:

答案 0 :(得分:1)

不知道你是否剪错了,但你错过了一个括号。另外,在网址周围添加单引号。

onclick="doSomeFunction('<%= Url.Action("AjaxAction", "Home") %>')"

给那个镜头。

我的代码中唯一的另一个区别是doSomeFunction()前面的'return',但我是一个javascript白痴,所以可能只是从其他地方剪切/粘贴,不知道你是否需要它。

答案 1 :(得分:0)

它应该工作。我看起来有点不同,但在概念上相似:

<script type="text/javascript">
function myFunct() {
    var url = '<%= Url.Action ("AjaxAction", "Home") %>';
    $.get(url, function(data) {
         // do stuff here
    });
}
</script>

我的HTML:

<a href="javascript:myFunct()">click here</a>

答案 2 :(得分:0)

当Web是默认页面时您的代码($ .post(“Home / AjaxAction”);)是正确的

否则你必须指定(($。post(“AjaxAction”);)actionmethod Only

-Muthukumar