Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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 jquerydatatables HTML actionlink,如何使用foreach添加编辑按钮_Javascript_Jquery_Asp.net Mvc 4_Razor_Datatables - Fatal编程技术网

Javascript jquerydatatables HTML actionlink,如何使用foreach添加编辑按钮

Javascript jquerydatatables HTML actionlink,如何使用foreach添加编辑按钮,javascript,jquery,asp.net-mvc-4,razor,datatables,Javascript,Jquery,Asp.net Mvc 4,Razor,Datatables,我已经挣扎了一段时间,我不知道如何解决它 我决定使用DATATABLE,但我无法使它在我以前的模型上工作,一切正常,但编辑按钮甚至不工作。不想使用AJAX或类似的东西,只想使用在我的FOREACH中检索到的信息 这是我的代码(请注意,我使用了foreach): @model IEnumerable @{ ViewData[“标题”]=“批准”; } 批准 @DisplayNameFor(model=>model.CODE) @DisplayNameFor(model=>model.EMAIL)

我已经挣扎了一段时间,我不知道如何解决它

我决定使用DATATABLE,但我无法使它在我以前的模型上工作,一切正常,但编辑按钮甚至不工作。不想使用AJAX或类似的东西,只想使用在我的FOREACH中检索到的信息

这是我的代码(请注意,我使用了foreach):

@model IEnumerable
@{
ViewData[“标题”]=“批准”;
}
批准
@DisplayNameFor(model=>model.CODE)
@DisplayNameFor(model=>model.EMAIL)
@DisplayNameFor(model=>model.FIRSTNAME)
@DisplayNameFor(model=>model.LASTNAME)
@foreach(模型中的var项目)
{
@DisplayFor(modeleItem=>item.CODE)
@DisplayFor(modelItem=>item.EMAIL)
@DisplayFor(modelItem=>item.FIRSTNAME)
@DisplayFor(modelItem=>item.LASTNAME)
@ActionLink(“编辑”,“编辑”,新的{id=item.code})
}
问题出在我的脚本中

我试着用这样的东西:

<script type="text/javascript">    
    $(document).ready(function () {
        $('#myDataTable').dataTable({
            aoColumns: [
                      null, // first column (CODE)
                      null, // second column (EMIAL)  
                      null, // third (FIRSTNAME)
                      null, // fourth (LASTNAME)

                      {     // fifth column (Edit link)
                        "sName": "CODE",
                        "bSearchable": false,
                        "bSortable": false,
                        "fnRender": function (oObj)                              
                        {
                            // oObj.aData[0] returns the CODE
                            return "<a href='/Edit?id=" 
                                + oObj.aData[0] + "'>Edit</a>";
                        }
                       }

                   ]
     });  
}); 
</script>

$(文档).ready(函数(){
$(“#myDataTable”).dataTable({
AO列:[
null,//第一列(代码)
null,//第二列(EMIAL)
null,//第三个(名字)
null,//第四个(姓氏)
{//第五列(编辑链接)
“sName”:“代码”,
“可搜索”:错误,
“可移植”:错误,
“fnRender”:函数(oObj)
{
//aData[0]返回代码
返回“”;
}
}
]
});  
}); 
我怎样才能让它工作?你能帮我吗


编辑:

@model IEnumerable
@{
ViewData[“标题”]=“批准”;
}
批准
@DisplayNameFor(model=>model.CODE)
@DisplayNameFor(model=>model.EMAIL)
@DisplayNameFor(model=>model.FIRSTNAME)
@DisplayNameFor(model=>model.LASTNAME)
@foreach(模型中的var项目)
{
@DisplayFor(modeleItem=>item.CODE)
@DisplayFor(modelItem=>item.EMAIL)
@DisplayFor(modelItem=>item.FIRSTNAME)
@DisplayFor(modelItem=>item.LASTNAME)
@ActionLink(“编辑”,“编辑”,新的{id=item.code})
}
我正在使用它,但它不适用于Jquery数据表:

<td>
    @Html.ActionLink("EDIT", "Edit", new { id = item.code })    
</td>

@ActionLink(“编辑”,“编辑”,新的{id=item.code})

如果我运行此代码,我的应用程序工作正常:

@模型IEnumerable

@{
ViewData[“标题”]=“批准”;
}
批准
@DisplayNameFor(model=>model.CODE)
@DisplayNameFor(model=>model.EMAIL)
@DisplayNameFor(model=>model.FIRSTNAME)
@DisplayNameFor(model=>model.LASTNAME)
@foreach(模型中的var项目)
{
@DisplayFor(modeleItem=>item.CODE)
@DisplayFor(modelItem=>item.EMAIL)
@DisplayFor(modelItem=>item.FIRSTNAME)
@DisplayFor(modelItem=>item.LASTNAME)
@ActionLink(“编辑”,“编辑”,新的{id=item.code})
}
当我尝试使用JS和HTML操作链接实现DATATABLE时,问题就出现了

@section scripts{
    <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/dt/dt-1.10.23/af-2.3.5/datatables.min.css" />

    <script type="text/javascript" src="https://cdn.datatables.net/v/dt/dt-1.10.23/af-2.3.5/datatables.min.js"></script>
    <script>
        $(document).ready(function () {
            $('#Exampledatatable').DataTable({


            })
        });
    </script>
@节脚本{
$(文档).ready(函数(){
$(“#示例DataTable”).DataTable({
})
});

不管我怎么做都无法使它工作

我突然想到的一件事是,列标题和行之间不匹配-看起来好像有4列标题和5列在表体中。可能添加一个空列标题,然后再试一次-如果不创建一个简单的JSFIDLE(或替代方案)我们可以再看一看吗?嘿,朋友,谢谢你的回复:看一看(我刚刚编辑了我的theread)。问题是Jquery数据表中不允许使用@Html.ActionLink(“编辑”,“编辑”,new{id=item.code}),我应该去掉它,但是你如何让它工作呢?
@Html.ActionLink(“编辑”,“编辑”,new”)是什么意思{id=item.code})
resolve to in the raw HTML.锚定标记?如果是这样的话,它应该可以正常工作。我仍然非常确定,如果你的thead没有改变,那么你将遇到HTML格式不正确的问题。朋友,看看它;搜索了一会儿:对不起,你是对的!!,我需要添加另一个。谢谢!!
<td>
    @Html.ActionLink("EDIT", "Edit", new { id = item.code })    
</td>
@{
    ViewData["Title"] = "Approvals";
}

<h1>Approvals</h1>

<table class="table" id="Exampledatatable">
    <thead>
        <tr>
            <th>
                @Html.DisplayNameFor(model => model.CODE)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.EMAIL)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.FIRSTNAME)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.LASTNAME)
            </th>
        </tr>
    </thead>
    <tbody>
        @foreach (var item in Model)
        {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.CODE)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.EMAIL)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.FIRSTNAME)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.LASTNAME)
            </td>
            <td>
                @Html.ActionLink("EDIT", "Edit", new { id = item.code })    
            </td>
        </tr>
        }
    </tbody>
</table> 
@section scripts{
    <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/dt/dt-1.10.23/af-2.3.5/datatables.min.css" />

    <script type="text/javascript" src="https://cdn.datatables.net/v/dt/dt-1.10.23/af-2.3.5/datatables.min.js"></script>
    <script>
        $(document).ready(function () {
            $('#Exampledatatable').DataTable({


            })
        });
    </script>