【发布时间】:2014-11-11 19:54:55
【问题描述】:
我希望将 ASP.NET ListView 的 EditItemTemplate 替换为用户控件,但我不知道如何将其绑定到 ListView 中的数据项以实现双向数据绑定。数据项不是一个简单的属性。它是一个对象。 这似乎只给出了单向的 Eval 类型数据绑定:
<EditItemTemplate>
<uc:MyUserControl id="thecontrol" runat="server" TheObject='<%# Container.DataItem %>'/>
</EditItemTemplate>
这给出了一个错误:
<EditItemTemplate>
<uc:MyUserControl id="thecontrol" runat="server" TheObject='<%# Bind("Container.DataItem") %>'/>
</EditItemTemplate>
这样:
<EditItemTemplate>
<uc:MyUserControl id="thecontrol" runat="server" TheObject='<%# Bind("this") %>'/>
</EditItemTemplate>
是否有一些绑定表达式语法可以为 EditItemTemplate 中的当前项提供双向数据绑定?
编辑。这是用户控件:
public partial class EditItemUserControl : System.Web.UI.UserControl
{
public TestObject TheObject
{
get
{
return new TestObject() { ID = Int32.Parse(hfID.Value), Name = txtName.Text };
}
set
{
hfID.Value = value.ID.ToString();
txtName.Text = value.Name;
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
}
【问题讨论】: