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 を使用して表示し、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 に答える