2

我正在尝试在多个 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,所以我将有一个数据项,绑定到多个控件,这些控件包含不同的片段表单视图中的相同项目。(该项目基于一个包含所有内容的单片表,但为了清楚起见,我们希望将数据分离给用户)

如果有关于如何让它工作的任何想法,或者任何人都知道它为什么不起作用,那就太好了!

4

0 回答 0