1

私の ASP.NET プロジェクト (VB.NET) には、TargetWebPage 属性で呼び出す DocumentDisplay という名前の自己コード化されたユーザー コントロールがあります。

<uc1:DocumentDisplay ID="DocumentDisplay" runat="server" TargetWebPage="EntityDocumentUpload"/>

ユーザー コントロールのコード ビハインドは、パブリック プロパティ TargetWebPage を実装しており、デバッガーで正しく設定されていることを確認できます。また、ユーザー コントロール (ascx) には yyySecureButton が定義されており (9 行目)、このパブリック プロパティも定義されており、これも設定されています。問題は、25 行目で (DomainGridView コントロール内で) 定義されている yyySecureCommandField までずっと下降するプロパティが必要なことです。このプロパティは、そのコントロールの分離コードにもありますが、設定されていません。

マークアップ内から yyySecureCommandField に TargetWebPage 属性を渡すことはできますか? そうでない場合、どのように行うのが最善ですか?

以下のコードは、クライアントを識別する文字列が vvv、xxx、yyy などに変更されていることを除いて、私が作業しているものと同じです。

返信ありがとうございます。

<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="DocumentDisplay.ascx.vb" Inherits="zzz.DocumentDisplay" %>
<xxx:ErrorSection ID="ErrorSection" runat="server"/>
<div class="FieldGroup">
    <fieldset>
        <legend>Documents</legend>
        <xxx:InputField runat="server" ID="InputFieldDocumentType" FieldName="DocumentType" CssClass="DocumentField" SuppressRequiredIndicator="True" />
        <xxx:InputField runat="server" ID="InputFieldDocumentName" FieldName="DocumentName" CssClass="DocumentField" SuppressRequiredIndicator="True" />
        <div class="DocumentField"><label>Upload</label><input type="File" id="DocumentUpload" runat="server" /></div>
        <div class="TableSectionCommandBar"><vvv:yyySecureButton id="ButtonUpload" runat="server" SecurityMode="Action" Text="Add" CssClass="StandardButton"/></div>
        <div class="Spacer" />
        <div class="TableSection">
            <xxx:DomainGridView ID="GridViewDocuments" runat="server" AutoGenerateColumns="False" CssClass="StandardTable" DomainObjectName="zzz.Domain.Document,yyyLib" DataKeyNames="DocumentId" AlwaysRequiresDatabind="True" AllowSorting="True">
                <Columns>
                    <xxx:FieldDefinitionField FieldName="DocumentType" ShowToolTip="True" SortExpression="DocumentType" />
                    <xxx:FieldDefinitionField FieldName="DocumentName" ShowToolTip="True" SortExpression="DocumentName" />
                    <xxx:FieldDefinitionField FieldName="DocumentDate" IsReadOnly="True" ShowToolTip="True" SortExpression="DocumentDate" />
                    <asp:TemplateField HeaderText="Doc" ItemStyle-HorizontalAlign="Center">
                        <ItemTemplate>
                            <asp:Hyperlink ID="LinkViewContentDocuments" runat="server" Visible="<%#Not String.IsNullOrEmpty(DirectCast(Container.DataItem, DocumentInformation).DocumentFileName)%>" NavigateUrl="<%#ResolveUrl(String.Format(CultureInfo.InvariantCulture, ApplicationUrls.ViewEntityDocuments, DirectCast(Container.DataItem, DocumentInformation).DocumentId))%>" ImageUrl="<%#ResolveUrl(ApplicationUrls.PaperclipImage)%>" ToolTip="<%#DirectCast(Container.DataItem, DocumentInformation).DocumentFileName%>" Text="<%#DirectCast(Container.DataItem, DocumentInformation).DocumentFileName%>" />
                        </ItemTemplate>
                        <EditItemTemplate>
                            <input type="File" id="UpdateDocumentUpload" runat="server" />
                        </EditItemTemplate>
                    </asp:TemplateField>
                    <vvv:yyySecureCommandField SecurityMode="Action" EditText="Edit" UpdateText="Update" CancelText="Cancel" DeleteText="Delete" ShowCancelButton="True" ShowEditButton="True" ShowDeleteButton="True" />
                </Columns>
                <EmptyDataTemplate>
                    <asp:Label ID="LabelNoEntityResults" runat="server" Text="There are currently no documents to display."></asp:Label>
                </EmptyDataTemplate>
                <RowStyle CssClass="ItemRow" />
                <HeaderStyle CssClass="HeaderRow" />
                <AlternatingRowStyle CssClass="AlternatingItemRow" />
                <PagerStyle CssClass="PagingRow" />
            </xxx:DomainGridView>
        </div>
    </fieldset>
</div>
4

0 に答える 0