我有以下按钮,点击它时会调用一个函数
有没有办法知道控制器是否点击了此按钮?
$("#RemoveFile").on("click", RemoveFile);
<button class="btn" style="height: 25px" type="button" id="RemoveFile"><p >Remove File</p></button>
答案 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调用,如果单击了按钮,则会话跟踪。