Javascript jquerydatatables HTML actionlink,如何使用foreach添加编辑按钮
我已经挣扎了一段时间,我不知道如何解决它 我决定使用DATATABLE,但我无法使它在我以前的模型上工作,一切正常,但编辑按钮甚至不工作。不想使用AJAX或类似的东西,只想使用在我的FOREACH中检索到的信息 这是我的代码(请注意,我使用了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)
@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>