我正在尝试使用
- 数据表插件,
- mvc3 框架和
- 实体框架
由于某种原因,它没有很好地呈现这段代码的结果是像这样在浏览器上输出数据
[{"ServiceId":"8e651711-c837-4012-99f5-496549308b95","ServiceInstanceId":"312bf47d-5952-4c32-b1a8-ffdeb30507df","MessageRole":2,"Datetime":"/Date(1342699946063) /","Message":null,"Status":null,"ESBErrorCode":null,"ESBTecnicalErrorCode":null,"ErrorDescription":null,"PortName":null,"MachineName":null,"Exte
控制器:
public JsonResult Index()
{
var tracks = db.Tracks.Include(t => t.Message).
Select(n => new
{
ServiceId = n.ServiceId,
ServiceInstanceId = n.ServiceInstanceId,
MessageRole = n.MessageRole,
Datetime = n.Datetime,
Message = n.Message,
Status = n.Status,
ESBErrorCode = n.ESBErrorCode,
ESBTecnicalErrorCode = n.ESBTecnicalErrorCode,
ErrorDescription = n.ErrorDescription,
PortName = n.PortName,
MachineName = n.MachineName,
ExternalId = n.ExternalId,
ConsumerMachineName = n.ConsumerMachineName,
ServiceBehavior = n.ServiceBehavior,
RouterConsumerId = n.RouterConsumerId
}); ;
return Json(tracks.ToList(), JsonRequestBehavior.AllowGet);
}
看法:
@model IEnumerable<Fnx.ESB2.Infra.DataTier.Model.Track>
@{
ViewBag.Title = "ServiceMonitor2.0";
}
@{
AjaxOptions ajaxOpts = new AjaxOptions
{
UpdateTargetId = "MainTable",
InsertionMode = InsertionMode.Replace,
Url = Url.Action("Refresh", "MainScreen"),
LoadingElementId = "loading",
LoadingElementDuration = 10000
};
}
@using (Ajax.BeginForm(ajaxOpts))
{
<div id="loading" style="display: none; color: Red; font-weight: bold">
<p>
Loading Data...</p>
</div>
<div id="header ">
<form class="well form-search">
ServicID
<input type="text" class="input-medium search-query">
<br />
<button type="submit" class="btn">
Search</button>
</form>
</div>
<table cellpadding="0" cellspacing="0" border="0" width="50%" class="well form-inline" id="MainTable">
<thead>
<tr>
<th>
ServiceId
</th>
<th>
ServiceInstanceId
</th>
<th>
MessageRole
</th>
<th>
Datetime
</th>
<th>
Message
</th>
<th>
Status
</th>
<th>
ESBErrorCode
</th>
<th>
ESBTecnicalErrorCode
</th>
<th>
ErrorDescription
</th>
<th>
PortName
</th>
<th>
MachineName
</th>
<th>
ConsumerId
</th>
<th>
ExternalId
</th>
<th>
ConsumerMachineName
</th>
<th>
ServiceBehavior
</th>
<th>
RouterConsumerId
</th>
<th>
</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
}
查询:
$(document).ready(function () {
$('#MainTable').dataTable({
// "bServerSide": true,
// "sAjaxSource": "MainScreen/Index",
"sAjaxSource": '@Url.Action("Index", "MainScreen")'
"bProcessing": true,
"aoColumns": [
{ "sName": "ServiceId"},
{ "sName": "ServiceInstanceId"},
{ "sName": "MessageRole"},
{ "sName": "Datetime"},
{ "sName": "Message"},
{ "sName": "Status"},
{ "sName": "ESBErrorCode"},
{ "sName": "ESBTecnicalErrorCode"},
{ "sName": "ErrorDescription"},
{ "sName": "PortName"},
{ "sName": "MachineName"},
{ "sName": "ExternalId"},
{ "sName": "ConsumerMachineName"},
{ "sName": "ServiceBehavior"},
{ "sName": "RouterConsumerId"}
]
});
});