C# 为什么这个简单的jQuery不起作用?

C# 为什么这个简单的jQuery不起作用?,c#,jquery,asp.net-mvc,C#,Jquery,Asp.net Mvc,我有一个jQuery get请求: $.get($(this).attr("href"), { "searchExpression": "schroders" }, function (result) { // do stuff }, "html"); 将get请求发送到此操作方法: public PartialViewResult Tabs(string searchExpression) { return PartialView(new SearchViewModel

我有一个jQuery get请求:

$.get($(this).attr("href"), { "searchExpression": "schroders" }, function (result) {

    // do stuff

}, "html");
将get请求发送到此操作方法:

public PartialViewResult Tabs(string searchExpression)
{
    return PartialView(new SearchViewModel
    {
        PagedFunds = _fundService.GetFunds(searchExpression)
    });
}
$.get请求向Tabs方法发送请求,但searchExpression始终为空字符串。我以前做过这件事,而且很有效。。有人知道为什么数据没有被发送或者模型绑定器没有工作吗

编辑:我刚刚发现使用的jQuery版本是1.2.6。此外,站点上还使用了另一个JS框架——我认为是原型——因此这是我用于GET的完整功能,它管理兼容性问题:

jQuery(document).ready(function ($) {
    $('.ActionControl a').click(function () {
        $.get($(this).attr("href"), { searchExpression: "schroders" }, function (result) {

            // do stuff

        }, "html");

        return false;
    });
});

这有什么线索吗?谢谢

您调试firebug的get参数了吗? 查看通过ajax发送的参数


如果没有解决,请告诉我。

Dave-可能是您需要明确地装饰该动作-即:

[AcceptVerbs(HttpVerbs.Get)]
为了确保它不寻找put/post请求等,我之前想知道“html”部分,但那只与返回类型有关

请参见上面的评论-但要将其放在答案中:


dave-我用jQuery1.4.2在一个小测试应用程序中对此进行了测试,效果非常好。这可能与正在使用的版本和/或与原型的冲突有关。您可能需要将$.get函数别名为jQuery.get,我想这就是语法


jim

事实证明,这就是真正问题的答案,如下所述:


我更新了这条消息,其中有几点可能会对成功产生影响。。。。顺便说一句-我与firebug进行了检查,我可以看到?searchExpression=schroders被发送到URLdave中-我用jquery 1.4.2在一个小测试应用程序中对此进行了测试,它工作得非常好。这可能与正在使用的版本和/或与原型的冲突有关。您可能需要将$.get函数别名为jQuery.get,我想这就是语法。。我还在另一个项目中做了一个测试,它成功了。我现在是原型的敌人!我试试你对化名的建议。