如何动态绑定数据而不在mvc 3中写入列名?

时间:2012-06-28 12:44:07

标签: c# asp.net-mvc asp.net-mvc-3 model-view-controller

之前我问了类似的问题:How to create dynamic Grid using mvc 3 aspx engine?(请不要忽略上一个问题)

如果我写beelow代码结果第一张图片:


<%@ 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>

enter image description here

但我想动态地想:


     <%: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()
                                                   )

        ))) %>

我的愿望结果是:

enter image description here

但我不喜欢以下约束力:

  grid.Column("FirstName"),
        grid.Column("LastName"),
        grid.Column("Salary"),

不喜欢它!我想自动或动态地得到第二个结果,但是如何?

0 个答案:

没有答案