私は Telerik Grid を使用するのは初めてですが、基本的にここで達成しようとしているのは次のシナリオです。いくつかのフィールドを持つフォームがあり、ajax を介してコントローラーで別のアクションを呼び出し、モデルを部分ビューに生成します。次のグリッドがあります。私の問題は、いくつかのビジネスロジックに応じていくつかのアクションを作成する必要があることです。列テンプレートを使用してそれを行うことができることはわかっています。インターネットで、js関数を使用してリンクを生成できることがわかりました。私の質問は、そのような面倒なことではありませんか? サーバーとクライアントで同じビジネスロジックを複製していますが、これを達成するためのより良い方法が必要ですか?
Html.Telerik().Grid(Model)
.Name("Grid")
.DataBinding(binding => binding.Ajax().OperationMode(GridOperationMode.Client))
.Columns(column =>
{
column.Bound(c => c.Id).Title("Id").Width(30);
column.Bound(c => c.Status);
column.Bound(c => c.DateReg);
column.Template(
@<text>
<div class="ActionsProvGrid">
<a href="@Url.Action("SomeAction", "Controller", new {id = item.id})">
<img src="../../Content/icons/ViewMore.png" alt="ViewMore" />
</a>
@if (@item.Status.Equals("ACT"))
{
<a href="@Url.Action("SomeOtherAction", "Controller", new {idOportunidad = item.id})">
<img src="../../Content/icons/invoice.png" alt="invoice"/>
</a>
}
</div>
</text>
).ClientTemplate("<#= GenearteIcons(data) #>");
})
.Sortable()