前に同様の質問をしました: mvc 3 aspx エンジンを使用して動的グリッドを作成する方法は? (前の質問を無視しないでください)
私がbelowコード結果の最初の画像を書いた場合:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumarable<MvcAppGridView.Models.Employee>>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Index
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<%
var grid = new WebGrid(source: Model, defaultSort: "FirstName", rowsPerPage: 3);
using (Html.BeginForm())
{
%>
<div>
<%: 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()
)
)
))
%>
</div>
<%} %>
</asp:Content>
しかし、私はそれを動的に好きにしたい:
<%:grid.GetHtml(tableStyle:"grid",
headerStyle:"head",
alternatingRowStyle:"alt",
columns:grid.Columns(
grid.Column("FirstName"),
grid.Column("LastName"),
grid.Column("Salary"),
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("Salary"),
好きじゃない!2 番目の結果を自動的または動的に取得したいのですが、どうすればよいですか?