2

データを更新できるように、編集テンプレートと項目テンプレート内の単一のフォームビューに追加された複数の Web ユーザー コントロールで ASP.NET 4.5 の厳密に型指定されたモデル バインディングを使用しようとしています。

つまり、このような 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 を使用して、データの 1 つの項目を作成し、データのさまざまな部分を保持する複数のコントロールにバインドします。フォームビュー内の同じアイテム。(プロジェクトはすべてを含むモノリシック テーブルに基づいていますが、わかりやすくするためにデータをユーザーに分けたいと考えています)

これを機能させる方法についてのアイデアがある場合、または機能しない理由を誰かが知っている場合、それは素晴らしいことです!

4

0 に答える 0