使用jQuery,ASP.NET MVC响应ActionResults

时间:2011-01-03 22:53:42

标签: jquery asp.net-mvc

我知道如何使用jQuery响应ASP.NET MVC中的表单帖子,但是我遇到了一些更简单的问题。

场景是屏幕上有一个项目列表,就像一个有序列表。

<ul>
   <li>Item 1</li> // each will corrospond with an id.
   <li>Item 2</li>
   <li>Item 3</li>
</ul>

当然,这是一个粗略的例子,但基本要点是,当用户点击一个时,它将执行一些服务器端逻辑......所以在控制器中,有一个方法,如..

public bool CheckSomething(int id)
{
 // do some logic to determine if the result should be true
 return true;
}

这是非常简单的逻辑,真的 - 但它仍然需要数据库访问,所以我不能在javascript中这样做。我需要让它击中我的控制器。问题是我希望UI响应这一点。

我很难在不使用表单的情况下弄清楚如何准确地连接它。有什么建议吗?

2 个答案:

答案 0 :(得分:4)

使用jquery ajax。这个例子应该让你去。

服务器

public JsonResult CheckSomething(int id)
{
 // do some logic to determine if the result should be true
 return Json(true);
}

<强>客户端:

$('li').click(function(){
    $.ajax({
        url: '/[controller name]/checksomething/' + this.id,
        dataType: 'json',
        type: 'POST',
        success: function(result){
            if(result) {} //...
        }
    });
});

答案 1 :(得分:0)

我认为您错过了MVC的一个关键组件,我建议您浏览一下Nerd Dinner示例应用程序,以全面掌握ASP.NET MVC的基础知识。

无论如何,当你打印Item 1链接时,你应该使用Html.ActionLink,传入你想要操作的数据的ID,并在你的Controller中添加适当的Action方法来处理这个。