如何在单击脚本上执行Action方法

时间:2014-02-25 09:06:42

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

在我的应用中,我有一个按钮。通过单击此按钮,我想执行一个操作方法。

此操作方法没有任何视图。 我的要求是:“在点击事件中调用此操作方法”

如何在click事件上执行该方法?

我的Onclick事件是

$('#Delete').click(function () {

          @*  @(Url.Action("Delete", new { id="cera123"}))*@
            $.ajax({
                url: '@(Url.Action("Delete", new { id="cera123"}))',

                type: "GET",
                success:function () {


                    alert('deleted');

                }



            });

我的行动方法是

 public ActionResult Delete(string id)
    {
        obj.EmpLi.RemoveAll(x => x.EmployeeId == id);

        return RedirectToAction("Index", obj);
    }

删除操作已执行,但即使我提供了RedirectToAction(“索引”),我也会在自动刷新页面后看到结果

感谢

2 个答案:

答案 0 :(得分:0)

$(function(){
    $("#yourbutonId").click(function(){ 
        $.get("/controller/action/id",function(data){
            //data is what your action return
        });
    });
});

nilesh是对的$ .ajax是js,$ .get是$ .ajax的样本使用基础
或$ .post
要使这些代码有效,你应该参考jquery.js

答案 1 :(得分:0)

一些背景信息......

如果你来自webforms和代码隐藏世界,那么HTML元素会在代码中调用脚本,但实际上asp.net webforms所做的是对服务器上脚本的http调用。如果您有updatepanel,asp.net webforms将通过ajax完成相同的调用。

这就是为什么在asp.net webforms中元素在其品牌asp:标签上具有前面的html的原因。这样asp.net就可以将他们的品牌元素转换为真正的HTML元素。

答案

从asp.net MVC中的HTML元素点击事件执行action代码的唯一方法是调用获取该方法的URL。无论是通过ajax还是来自浏览器的请求,都需要完成http请求。

使用javascript,您可以在触发元素的on-click事件时进行侦听,然后执行一些逻辑操作。如果您使用的是jquery,则可以使用$.ajax()$.get()方法调用您的操作网址。