我们如何将强类型模型绑定与GridView
的{{1}}一起使用? BoundField
的{{1}}属性似乎只接受字符串值,与DataField
不同,我可以使用正确的模型绑定语法,如BoundField
。 FormView
是我唯一的选择吗?
答案 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/