GridView和模型绑定

时间:2014-04-17 12:06:16

标签: asp.net gridview model-binding

我们如何将强类型模型绑定与GridView的{​​{1}}一起使用? BoundField的{​​{1}}属性似乎只接受字符串值,与DataField不同,我可以使用正确的模型绑定语法,如BoundFieldFormView是我唯一的选择吗?

2 个答案:

答案 0 :(得分:2)

对于任何未来的读者,如果您想利用强类型绑定和智能感知等,TemplateField是您唯一的选择。

答案 1 :(得分:0)

我不确定你想要什么,但我仍然创造了一个像这样的小应用程序。

这是aspx页面中的gridview。

 <asp:GridView runat="server" ID="grdEmployee" AutoGenerateColumns="False"  ModelType="WebApplication1.Employee">
       <Columns>
           <asp:BoundField DataField="Age" HeaderText="Age"/>
           <asp:BoundField DataField="Name" HeaderText="Name"/>
       </Columns>
   </asp:GridView> 

现在我创建了类似于以下的Employee类。

public class Employee
{
    public string Name { get; set; }
    public int Age { get; set; }
}

并且在asp.net的page_load事件中我正在写这个。

protected void Page_Load(object sender, EventArgs e)
    {
        List<Employee> employees=new List<Employee>();
        Employee employee=new Employee{Age = 33,Name = "Jalpesh Vadgama"};
        employees.Add(employee);

        employee = new Employee { Age = 30, Name = "Vishal Vadgama" };
        employees.Add(employee);

        grdEmployee.DataSource = employees;
        grdEmployee.DataBind();
    }

它的确有效。对于双向绑定,您需要使用带有bindItem的模板控件。

参考 - http://www.sitepoint.com/asp-net-4-5-strongly-typed-data-controls-model-binding/