Asp.net GridView和模型绑定

Asp.net GridView和模型绑定,asp.net,gridview,model-binding,Asp.net,Gridview,Model Binding,如何将强类型模型绑定与GridView的BoundField一起使用?BoundField的DataField属性似乎只接受字符串值,这与FormView不同,在那里我可以使用适当的模型绑定语法,如Prop=”“。TemplateField是我唯一的选择吗?我不确定你想要什么,但我还是创建了一个这样的小应用程序 这里是aspx页面中的gridview <asp:GridView runat="server" ID="grdEmployee" AutoGenerateColumns="Fa

如何将强类型模型绑定与
GridView
BoundField
一起使用?
BoundField
DataField
属性似乎只接受字符串值,这与
FormView
不同,在那里我可以使用适当的模型绑定语法,如
Prop=”“
TemplateField
是我唯一的选择吗?

我不确定你想要什么,但我还是创建了一个这样的小应用程序

这里是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> 
在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();
    }
受保护的无效页面加载(对象发送方,事件参数e)
{
列出员工=新列表();
雇员=新雇员{Age=33,Name=“Jalpesh Vadgama”};
employees.Add(employees);
雇员=新雇员{Age=30,Name=“Vishal Vadgama”};
employees.Add(employees);
grdeemployee.DataSource=员工;
grdeemployee.DataBind();
}
而且它是有效的。对于双向绑定,您需要将模板控件与bindItem一起使用


参考-

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

您提供的代码不是模型绑定。这是一种纯粹的老办法。但是,您找到的链接是正确的模型绑定;不确定你是否有机会经历它。但确切的问题是,代码中的
DataField
属性采用“Age”和“Name”等字符串值,这没有intellisense等强类型模型绑定的优点。
TemplateField
但是也支持模型绑定,如本文所示。我正试图用
BoundField
做同样的事情。你不能用BoundField绑定它
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();
    }