我正在尝试在多个 Web 用户控件上使用 ASP.NET 4.5 强类型模型绑定,这些控件被添加到编辑和项目模板内的单个 Formview 中,以便我可以更新数据。
即我有一个这样的aspx页面
<asp:FormView ID="FormView1" runat="server"
ItemType="MyDataLayer.MyDataItem"
SelectMethod="FormView1_GetItem"
UpdateMethod="FormView1_UpdateItem"
DataKeyNames="MyDataItemID" >
<EditItemTemplate>
<asp:LinkButton Text="Update" runat="server" CommandName="Update"/>
<uc1:WebUserControl1 runat="server" id="WebUserControl1" />
<uc1:WebUserControl1 runat="server" id="WebUserControl2" />
</EditItemTemplate>
<ItemTemplate>
<asp:LinkButton Text="Edit" runat="server" CommandName="Edit" />
<uc1:WebUserControl1 runat="server" id="WebUserControl1" />
<uc1:WebUserControl1 runat="server" id="WebUserControl2" />
</ItemTemplate>
</asp:FormView>
像这样的 ascx 用户控件(简化版)
<%@ Control Language="C#" AutoEventWireup="false"
CodeBehind="WebUserControl1.ascx.cs"
Inherits="WebApplicationTests.WebUserControl1" %>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# BindItem.Name%>'></asp:TextBox>
如果我将用户控件的内容移动到带有表单视图的页面,我可以让它工作,但它在用户控件中不起作用。
换句话说,我希望用新的“BindItem”将用户控件字段绑定到父页面Formview数据,并使用formview ItemType,所以我将有一个数据项,绑定到多个控件,这些控件包含不同的片段表单视图中的相同项目。(该项目基于一个包含所有内容的单片表,但为了清楚起见,我们希望将数据分离给用户)
如果有关于如何让它工作的任何想法,或者任何人都知道它为什么不起作用,那就太好了!