Mein Razor sieht Ich habe Vorlage wie untenJsonConvert SerializeObject mit Func Eigenschaft
@helper EditLink(SampleEmployeeModel data)
{
<b>
@Html.ActionLink("Edit", "Edit", new { id =data.ID }, new { @class = "modal_link" })
</b>
}
Dann habe ich diese Vorlage verwenden in meinem Grid-Steuerelement wie unten. Die Grid-Helper-Methode arbeitete basierend auf JQuertDataTable.
@(
Html.Grid<SampleEmployeeModel>()
.SetName("GridEmployeeServerSide")
.Columns(columns =>
{
columns.Bound(b => b.ID).EnableSearch(false);
columns.Bound().Template(o => EditLink(o)).SetTitle("Edit");
})
.Pageable(a => a.SetPageType(PageType.full_numbers))
.DataSource(a =>
{
a.Read(read => read.Action("RRDLDataTableAjaxData"));
a.ServerSideProcessing(true);
})
)
sollte die RRDLDataTableAjaxData den Datensatz zurückgeben wie
unten[
{"ID":1,"Edit":"<b>\r\n<a class=\"modal_link\" href=\"/Samples/Edit/1\">Edit</a>\r\n</b>\r\n"},
{"ID":2,"Edit":"<b>\r\n<a class=\"modal_link\" href=\"/Samples/Edit/2\">Edit</a>\r\n</b>\r\n"},
{"ID":3,"Edit":"<b>\r\n<a class=\"modal_link\" href=\"/Samples/Edit/3\">Edit</a>\r\n</b>\r\n"}
]
Ich erwarte Ergebnis bin immer wenn Netzlast erstes Mal, wenn ich auf die 2. Seite gehen, um es zu erwarten JSon nicht zurück.
Wie die Helper-Methode HTML Gitter erzeugen ist Es Faltenbalgbefestigung Code in Razor Ansicht schreiben
<table class="table table-striped nowrap dt-responsive" data-rrdl-grid="" id="RRDLGrid21V52" width="100%">
<thead>
<tr>
<TH></TH>
<TH></TH>
</tr>
</thead>
<tbody></tbody>
</table>
<script type='text/javascript'>
var dataTable_GridEmployeeServerSide_Option = {
"columns": [
{
"targets": 1,
"defaultContent": "",
"data": "ID",
"title": "ID",
"visible": true
},
{
"targets": 2,
"defaultContent": "",
"data": "Edit",
"searchable": true,
"title": "Edit",
"visible": true
}
],
"dom": "<'table-header-row' <'dom-left' ><'dom-center' ><'dom-right' lp>>t",
"autoWidth": false,
"deferRender": true,
"info": false,
"lengthChange": false,
"ordering": true,
"paging": true,
"processing": false,
"searching": false,
"serverSide": true,
"stateSave": false,
"ajax": {
"contentType": "application/json; charset=utf-8",
"url": "../Samples/RRDLDataTableAjaxData",
"dataType": "json",
"dataSrc": "data"
},
"destroy": false,
"orderClasses": false,
"orderMulti": false,
"pageLength": 10,
"pagingType": "full_numbers",
"scrollCollapse": false,
"language": {
"paginate": {
"first": "<i class=\"icon-left\"></i><i class=\"icon-left\"></i>",
"last": "<i class=\"icon-right\"></i><i class=\"icon-right\"></i>",
"next": "<i class=\"icon-right\"></i>",
"previous": "<i class=\"icon-left\"></i>"
}
},
"OddRowColor": null,
"EvenRowColor": null,
"FixedRowHeight": 0,
"HighlightSearchText": false,
"SelectCheckBox": false,
"RowTemplate": null
}
$(document).ready(function() {
_DataTable(GridEmployeeServerSide);}
)
</script>
Meine Frage ist, wie editlink passieren in Hilfs-Server, wenn der Benutzer klicken 2. Seite.
Sie können einen Delegaten serialisiert. – SLaks
Eigentlich möchte ich die MVZ Server Seite Razor-Vorlage in JSON serialisieren. Ist eine andere Möglichkeit, das zu tun. –
Was würde das bedeuten? Vorlagen sind keine Objekte. – SLaks