2

Site_materials テーブルを実行すると、見つかったすべての一致が「NumberOFDeliveries」に保存されます。これは、それらを画面に表示するラベルの ID です。

 //DELIVERIES
        int NumberOfDeliveries = (from Deliveries in db.Site_Materials
                              where Deliveries.Diary_Entry_Id == this.DiaryEntryId
                              select Deliveries).ToList().Count();
        if (NumberOfDeliveries > 0)
        {
            NoOfDeliveriesOnSite.Text = System.Convert.ToString(NumberOfDeliveries);
        }
        else
        {
            NoOfDeliveriesOnSite.Text = "0";
        }

aspx ページで以下のラベルを使用すると、期待どおりに表示されます。しかし、必要な場所に表示しようとすると問題が発生します... FooterTemplate/Panel/SecurePanel/Div 内

<FooterTemplate>
                        <asp:Panel runat="server" ID="AllLinks" HorizontalAlign="Center" Width="600px" >
                            <mesh:SecurePanel runat="server" ID="EmployeeLink" CssClass="SmallBoxLink" WebMasters="true" Admins="true" Clients="true" Employees="true">
                                <div style="height:25px; margin-top:12px; margin-bottom:12px;">
    <asp:Label ID="Delivery" runat="server" Text="Deliveries=" /><asp:Label ID="NoOfDeliveriesOnSite" runat="server" />

私が言ったように、このコードは正常に動作し、正しい量を表示します(aspxページの差分の場所で使用された場合)が、必要な場所に表示しようとするとエラーが発生します:cs. 「NoOfDeliveriesOnSite」と記載されているページは存在しません。

理由についてのアイデア

4

2 に答える 2

2

フッターにある場合は、コントロール番号を -1 に設定する必要があります。この例では、ハンドルを取得したいフッターにラベルがあります。

dim myLabel as label
myLable = myDataRepeater.Controls(myDataRepeater.Controls.Count - 1).FindControl("lableName")

ユーザー コントロール内で検索しようとしているコントロールがある場合は、notehr .FindControl メソッドを追加する必要がある場合があります。

myLable = myDataRepeater.Controls(myDataRepeater.Controls.Count - 1).FindControl("lableName").findControls("anotherControl")
于 2013-02-27T16:48:01.990 に答える
1

コントロールが入っているコンテナが何であれ、その中にコントロールを見つける必要があります。

質問で指定したコード サンプルの上にこれを追加して、その変数への参照が有効になるようにします。

SecurePanel EmployeeLink = (SecurePanel)AllLinks.FindControl("EmployeeLink");
Label NoOfDeliveriesOnSite = (Label)EmployeeLink.FindControl("NoOfDeliveriesOnSite");

FooterTemplate目的 ( 、 など) によってはGridView、最初にその中FormViewの "AllLinks" も見つける必要があるでしょうPanel

于 2013-02-27T13:51:45.377 に答える