Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从jQuery中获取一些数据并调用Html.ActionLink_Javascript_Jquery_Razor_Html.actionlink - Fatal编程技术网

Javascript 如何从jQuery中获取一些数据并调用Html.ActionLink

Javascript 如何从jQuery中获取一些数据并调用Html.ActionLink,javascript,jquery,razor,html.actionlink,Javascript,Jquery,Razor,Html.actionlink,我隐藏了Html.ActionLink,其中“删除”-操作名称,“学生”-控制器名称: @Html.ActionLink("Delete student", "Delete", "Students", new { id = "" }, new { @id = "DeleteButton", @style = "visibility:hidden;" }) 和jQuery代码: <script type="text/javascript"> $(document).ready

我隐藏了Html.ActionLink,其中“删除”-操作名称,“学生”-控制器名称:

@Html.ActionLink("Delete student", "Delete", "Students", new { id = "" }, new { @id = "DeleteButton", @style = "visibility:hidden;" })
和jQuery代码:

<script type="text/javascript">
    $(document).ready(function () {
        var table = $('#students_table').DataTable();

        $('#btnDelete').click(function () {
            var studentId = table.row('.selected')[0]; //this give me correct id
            //alert(studentId); 
            if (studentId) {
                var href = "?id=" + studentId;
                //$("#DeleteButton").attr(href).click();
                //$('#DeleteButton').attr("?id=" + encodeURIComponent(studentId)).click();
            }
            table.row('.selected').remove().draw(false);
        });

    });
</script>

$(文档).ready(函数(){
var table=$(“#学生_table”).DataTable();
$('#btnDelete')。单击(函数(){
var studentId=table.row('.selected')[0];//这将为我提供正确的id
//警惕(学生ID);
if(学生ID){
var href=“?id=“+studentId;
//$(“#删除按钮”).attr(href)。单击();
//$(“#删除按钮”).attr(“?id=“+encodeURIComponent(studentId))。单击();
}
table.row('.selected').remove().draw(false);
});
});
调用Id为(
$(“#DeleteButton”).attr(href)的ActionLink时出现问题。单击();


p.S.#btnDelete-这是html中简单按钮的id

使用ajax执行删除操作:

<script type="text/javascript">
    $(document).ready(function () {
        var table = $('#students_table').DataTable();

        $('#DeleteButton').click(function (event) {
            event.preventDefault();

            var studentId = table.row('.selected')[0]; //this give me correct id
            //alert(studentId); 
            if (studentId) {
                $.get( "URL_TO_BACKEND?id=" + studentId, function() {
                    table.row('.selected').remove().draw(false);
                });
            }
        });
    });
</script>

$(文档).ready(函数(){
var table=$(“#学生_table”).DataTable();
$(“#删除按钮”)。单击(函数(事件){
event.preventDefault();
var studentId=table.row('.selected')[0];//这将为我提供正确的id
//警惕(学生ID);
if(学生ID){
$.get(“URL\u TO\u BACKEND?id=“+studentId,function()){
table.row('.selected').remove().draw(false);
});
}
});
});


为什么不在表中使用
@Html.ActionLink(“删除学生”,“删除”,“学生”,“新建{id=”“},新建{@id=“DeleteButton”})
?在每条记录旁边?我想如果我可以选择记录,然后用一个按钮删除它会更舒服。我想我会用ajax进行删除。请参阅答案:这是个好主意,不过,纯粹按照惯例,执行数据更改(而不仅仅是获取现有数据)的HTTP API请求通常通过POST、PUT,甚至在本例中是DELETE,而不是GET来完成。但这只是一种约定,以使功能更好地匹配方法名称。使用ajax的基本想法是合理的。我可以在ajax.ActionLink上更改Html.ActionLink,它将是ajax,但这并不能解决我的问题,sorry@AlexandrActionLink不一样,请阅读答案中的代码。@ADyson,我完全同意你的看法。但是,我在他的问题中没有看到后端代码,更改请求方法可能需要更改后端。我不想回答各种各样的最佳实践,只是想提交一个工作解决方案。@ MikBevnnald:这是真的,只是想向未来读者提及,和/或OP,如果他们想考虑改变他们的后端代码。请放心,我的评论不是对你答案的批评。