模倣したい次のレガシーコードがあり、すべてのアクションリンクが1つの列に含まれています。ただし、Razorの構文を正しく理解できないようです。これをRazorでどのように表現すればよいですか?
ASPX列テンプレートは次のようになります。
.Columns(column =>
{
column.Template(o =>
{%>
<%= Html.ActionLink("Edit", "Edit", new{ id = o.DeviceID}) %> |
<%= Html.ActionLink("Delete", "Delete", new { id = o.DeviceID })%>
<%});
以下のように、構文などについての苦情なしに、Razorを使用して3つの別々の列を取得することしかできませんでした。
.Columns(columns =>
{
columns.Template(o => @Html.ActionLink("Edit", "Edit", new { id = o.ProductId })).Width(50);
columns.Template(o => @Html.ActionLink("Details", "Details", new { id = o.ProductId })).Width(50);
columns.Template(o => @Html.ActionLink("Delete", "Delete", new { id = o.ProductId })).Width(50);
Razor構文を使用して、3つのアクションリンクすべてを含む1つのテンプレート列を定義するにはどうすればよいですか?
編集: 以下のマイクの答えの次の小さな適応を試みると、「代入、呼び出し、インクリメント、デクリメント、および新しいオブジェクト式のみをステートメントとして使用できます」というエラーが発生します。
columns.Template(o => @<text>@Html.ActionLink("Edit", "Edit", new { id = o.CampaignId }) |
@Html.ActionLink("Delete", "Delete", new { id = o.CampaignId })
</text>).Width(100);