【发布时间】:2011-11-17 17:31:34
【问题描述】:
假设我们有一个对象
class Entity
{
public string ID {get; set;}
public string Name {get; set;}
}
我想将属性绑定到页面上的两个文本框,如下所示:
<asp:FormView ID="FormView" runat="server">
<ItemTemplate>
<asp:textbox ID="TextId" Text='<%# Bind("ID") %>'/>
<asp:textbox ID="TextId" Text='<%# Bind("Name") %>'/>
</ItemTemplate>
</asp:FormView>
然后把这个写在后面的代码里
public EntityObject
{
get { return ViewState["Entity"] as Entity; }
set { ViewState["Entity"] = value; }
}
protected override void OnInit(EventArgs e)
{
if (EntityObject== null)
EntityObject= new EntityObject();
FormView.DataSource = new[] { EntityObject };
FormView.DataBind();
base.OnInit(e);
}
当我在文本框中输入值时,我希望 EntityObject 在 PostBack 后重新加载页面时在属性中包含这些值,但属性始终为空。
【问题讨论】:
标签: c# .net asp.net data-binding 2-way-object-databinding