MVC3WebGridコントロールを使用してエンティティのリストをレンダリングしています。ユーザー、アイテム、注文などのリストを表示するページのようなインデックスがあると仮定します。これらすべてのエンティティにはIDという列があります。
WebGridは見栄えがよく、リストがレンダリングされたら、他のすべての列の前に、編集、削除、詳細の3つのアクションリンクを追加したいだけです。
次のコードを追加しても機能しますが、すべてのページでこのコードを繰り返したくありません。
@grid.GetHtml(columns: grid.Columns(
grid.Column(header: "",
style: "text-align-center",
format: (item) => new
HtmlString(Html.ActionLink("Edit", "Edit", new { ID = item.ID }).ToString() + " | " +
Html.ActionLink("Details", "Details", new { ID = item.ID }).ToString() + " | " +
Html.ActionLink("Delete", "Delete", new { ID = item.ID }).ToString()
)
),
grid.Column("FirstName"),
grid.Column("LastName"),
grid.Column("EmailAddress")
)
基本的に私が欲しいのは@Grid.Render(Model)と言うことです...そしてそれは最初の3つのアクションリンクを作成するはずであり、それらはモデルのすべての列をレンダリングします。
JQueryグリッドやMVCContribなどがあることは知っていますが、それらはオプションではありません。
コメントやヒントをいただければ幸いです。