1

在我的 ASP.NET 项目 (VB.NET) 中,我有一个名为 DocumentDisplay 的自编码用户控件,我使用 TargetWebPage 属性调用它:

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

用户控件的代码隐藏实现了公共属性 TargetWebPage,在调试器中我可以看到它被正确设置。此外,在用户控件 (ascx) 中定义了一个 yyySecureButton(第 9 行),其中也定义了这个公共属性,并且也正在设置它。问题是我需要属性一直下降到第 25 行定义的 yyySecureCommandField(在 DomainGridView 控件内);此属性也在该控件的代码隐藏中,但尚未设置。

我可以从标记中将 TargetWebPage 属性传递给 yyySecureCommandField 吗?如果没有,怎么做最好?

下面的代码与我正在使用的代码相同,只是标识我的客户端的字符串已更改为 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