在单个Formview上的多个Web用户控件中的强类型模型绑定

时间:2013-10-29 15:44:11

标签: c# model-binding asp.net-4.5 strong-typing

我正在尝试在多个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中相同项目的各个部分。 (该项目基于一个包含所有内容的单一表格,但我们希望将数据与用户分开以保持清晰度)

如果有任何关于如何使其发挥作用的想法,或者任何人都知道为什么它不起作用那将是伟大的!

0 个答案:

没有答案