我正在尝试为crud操作添加2个额外的列,即选择并删除在列中显示带有主键链接的图像。我不能让它显示或它说我有不正确的列数。 表格视图
<table class="SearchResultsTable">
<thead>
<tr>
<th>
@Html.DisplayName("User Id")
</th>
<th>
@Html.DisplayName("User Email")
</th>
<th>
@Html.DisplayName("User Role")
</th>
<th>
@Html.DisplayName("Select")
</th>
<th>
@Html.DisplayName("Delete")
</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.user_pk)
</td>
<td>
@Html.DisplayFor(modelItem => item.user_email)
</td>
<td>
@Html.DisplayFor(modelItem => item.user_type)
</td>
<td>
<a href="@Url.Action("GetUser", "User", new { id = item.user_pk })">
<img src="/Content/Images/SelectIcon.gif" alt="My Image" />
</a>
</td>
<td>
<a href="@Url.Action("GetUser", "User", new { id = item.user_pk })">
<img src="/Content/Images/DeleteIcon.gif" alt="My Image" />
</a>
</td>
</tr>
}
</tbody>
jquery的
<script type="text/javascript">
$(document).ready(function () {
$(".SearchResultsTable").dataTable({
'bServerSide': true,
'bProcessing': true,
'sAjaxSource': '/User/FilteredUsers',
"bJQueryUI": true,
"bAutoWidth": false,
"bPaginate": true,
"sPaginationType": "full_numbers",
"iDisplayLength": 25,
"aoColumns": [
{ "sName": "user_pk",
"bSearchable": false,
"bSortable": false,
},
{ "sName": "user_email" },
{ "sName": "user_role" },
//{
// "mData": null, "bSearchable": false,
// "bSortable": false, "sClass": "editControl",
// "sDefaultContent": '<img src="/Content/Images/SelectIcon.gif" />'
//},
//{
// "mData": null, "bSearchable": false,
// "bSortable": false, "sClass": "editControl",
// "sDefaultContent": '<img src="/Content/Images/DeleteIcon.gif" />'
//}
]
/* make the first and last columns not sortable */
});
});
</script>
}
控制器
// GET: /User/Details/5
public ActionResult FilteredUsers(jQueryDataTableParamModel param)
{
RestClient RestClientObject = new RestClient("http://domain");
var request = new RestRequest("api/user/", Method.GET);
request.AddParameter("page", param.iDisplayStart);
request.AddParameter("pageSize", param.iDisplayLength);
if (param.sSearch != null)
request.AddParameter("userName", param.sSearch);
IRestResponse<Pager<UserSummaryModel>> response = RestClientObject.Execute<Pager<UserSummaryModel>>(request);
IEnumerable<string[]> result = null;
try
{
result = from c in response.Data.pagedSet select new[] { Convert.ToString(c.user_pk), c.user_email, c.user_type };
}
catch
{
result = Enumerable.Empty<string[]>();
}
return Json(new
{
sEco = param.sEcho,
iTotalRecords = response.StatusCode == HttpStatusCode.OK ? response.Data.totalRecordSize : 0,
iTotalDisplayRecords = response.StatusCode == HttpStatusCode.OK ? response.Data.totalRecordSize : 0,
aaData = result
},
JsonRequestBehavior.AllowGet);
}
如果我没有将额外的行放在控制器中的结果数组中,它说我有不正确的列号..如果我将它们从jquery中删除我不会得到错误但是列没有填充。请告诉我该怎么做