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();
}