我正在尝试在多个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>
如果我将用户控件的内容移动到带有formview的页面,我就可以使用它,但它在用户控件中不起作用。
换句话说,我希望用新的“BindItem”绑定到父页面Formview数据的用户控件字段,并使用formview ItemType,所以我将有一个数据项,绑定到多个控件,这些控件具有不同的formview中相同项目的各个部分。 (该项目基于一个包含所有内容的单一表格,但我们希望将数据与用户分开以保持清晰度)
如果有任何关于如何使其发挥作用的想法,或者任何人都知道为什么它不起作用那将是伟大的!