обычно я делал бы это в шаблоне с элементами управления Syncfusion, который работает лучше, а помощники тегов просто работают.
//OPTION 1
//your original source
$("#Grid").ejGrid({
dataSource: ej.DataManager({
columns: [
{ headerText: 'Detail' template: "<a href='/ServicesOrder/Details/{{:OrderId}}'>Finiched</a>"},
{ headerText: 'Order #', field: 'OrderId'}]
});
//OPTION 2
//your original source + tweak
$("#Grid").ejGrid({
dataSource: ej.DataManager({
columns: [
{ headerText: 'Detail', template: true, templateId: "#detailsbutton"}]
});
<script type="text/x-jsrender" id="detailsbutton">
<a class="btn btn-primary" href="@Url.Action("Details", "ServicesOrder", new {id = {{:OrderId}})>Details</a>
</script>
Пока OrderId
существует в запросе к сетке, он найдет его в шаблоне и заполнит соответствующим образом.Имейте в виду, что Syncfusion широко использует JSX под прикрытием (по крайней мере, эта версия EJs1, EJs2 - это полное переписывание с использованием чистого Javascript).Я
Я действительно должен подчеркнуть, что использование только javascript
с asp.net core mvc
работает, но добавление чистых тегов-помощников, таких как:
<ejs-grid id="OrderGrid" dataSource=@ViewBag.somedata >
<e-datamanager></e-datamanager>
<e-grid-columns>
<e-grid-column field="Id" type="number"></e-grid-column>
</e-grid-columns>
</ejs-grid>
Намного легче иметь дело!