检查控制器中是否单击了按钮

时间:2014-07-16 13:43:51

标签: javascript jquery asp.net asp.net-mvc asp.net-mvc-4

我有以下按钮,点击它时会调用一个函数

有没有办法知道控制器是否点击了此按钮?

$("#RemoveFile").on("click", RemoveFile);

<button class="btn" style="height: 25px"  type="button" id="RemoveFile"><p >Remove File</p></button>

4 个答案:

答案 0 :(得分:2)

单击该按钮时,将onclick事件添加到此按钮,并将单击的状态保存在隐藏字段中。然后,每当您向控制器发送数据时,发送此隐藏字段值,说明是否单击了该按钮。

<强>更新:

这是HTML

<input id="hdnRemoveClicked" type="hidden" value="false" />

这是javascript,它在按钮中添加了ID="RemoveFile"的点击事件,并将隐藏字段值设置为true,以显示它被点击。

$( "#RemoveFile" ).click(function() {
  $( "hdnRemoveClicked" ).val(true);
  // do other things, if needed
});

答案 1 :(得分:2)

正如Edurado所说,你向他询问的实施

首先在html页面中设置隐藏字段(razor view / aspx page)

<input type="hidden" id="StakeholderId" name="stakeholderId" />

然后添加如下脚本

 $( "#buttonID" ).click(function() {
  $( "StakeholderId" ).val(true);
});

获取值并将值发布到控制器,如下所示

 var hidden= $('StakeholderId').val();
    $.ajax({
        type: "post",
        url: "Controller/Method",
        data: {

  hiddenField1: hidden,
  hiddenField2: "hiddenValue2",

},
        success: function() {
            alert("yay")
        },
        error: function(e) {
             console.log(e);
        }
    });

希望这会有所帮助......

答案 2 :(得分:0)

我在MVC中知道的唯一方法是通过JQuery组件中的匿名函数对服务器进行Ajax调用。例如:

$("#RemoveFile").on("click", "RemoveFile", function () {
    //  tell server
    var jqxhr1 = $.ajax({ type: 'POST', url: "/myControllerUrl", 
                data: { buttonID: "RemoveFile" } });
    $.when(jqxhr1).done(function (response, textStatus, jqXHR) {
        if (textStatus != "success") {
            alert("Error, please try later");
            return false;
        }
        // update the user interface
    });
});

答案 3 :(得分:0)

对Controller中的方法进行ajax调用,如果单击了按钮,则会话跟踪。