0

正如标题所说,我想将数据从我的用户控件绑定到我的页面的 EntityDataSource。我试过这个:

在我的用户控制中:

<asp:Textbox runat="server" id="mytxtbox" Text='<%# Bind("myField") %>

在我的asp页面中:

<% Register TagPrefix="uc" TagName="myControl" src="~/MyControl.ascx" %>
...
<asp:EntityDataSource ID="EDS" runat="server" ....></asp:EntityDataSource
<asp:FormView id="FormView1" runat="server" DataKeyNames="id" DataSourceId="EDS">
    <EditItemTemplate>
        <uc:myControl runat="server" id="customControl"/>
        ...
        <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" Text="Update" />
        <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" />
    </EditItemTemplate>
    <InsertItemTemplate>
        <uc:myControl runat="server" id="customControl"/>
        ...
        <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert" Text="Insert" />
        <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" />
    </InsertItemTemplate>
    <ItemTemplate>
        <uc:myControl runat="server" id="customControl"/>
        ...
        <asp:LinkButton ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit" Text="Edit" />
        <asp:LinkButton ID="DeleteButton" runat="server" CausesValidation="False" CommandName="Delete" Text="Delete"/>
    </ItemTemplate>
</asp:formview>

使用这种方法,我能够正确显示我的用户控件的字段(使用数据库中的适当内容),但我无法插入/更新数据。

4

2 回答 2

1

在 VS2010 中尝试过 detailsview/gridview。我使用 gridview 显示,然后通过传递值将其链接到 detailsview,我可以在 VS2010 中编辑/删除记录。

这可以是一个很大的帮助 点击这里

另外,看看这个点击

于 2012-09-26T15:11:57.243 回答
0

1 我建议你对find你的控制Page_Init,所以你通过你的DataSource(DataTable或其他)

var control = (UserControl)this.FindControl("id");
control.Property = .....;

2 例如,您声明您控制的公共财产

3 并且你把你的控件绑定在他的代码后面。

注意:如果您的 userControl 中有网格控件,您可以使用ItemDataBound

于 2012-09-26T14:54:46.797 回答