如何让我的自定义用户控件接受ASP.NET WebForms中的属性列表?

时间:2012-06-13 08:37:28

标签: asp.net user-controls

假设我有一个包含文件上传字段和提交按钮的用户控件:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ImageUploader.ascx.cs" Inherits="MyProject.ImageUploader" %>

<asp:FileUpload ID="fileInput" runat="server"/>
<asp:Button ID="submitButton" runat="server" Text="Upload" OnClick="UploadImage" />

我想传递多种尺寸来调整上传图片的大小。我知道如何从代码后面执行此操作,但我希望能够像我这样使用我的用户控件:

<%@ Register tagPrefix="uc" tagName="ImageUploader" src="ImageUploader.ascx" %>

<uc:ImageUploader id="uploader" runat="server">
    <Sizes>
        <Size Width="640" Height="480" />
        <Size Width="320" Height="240" />
    </Sizes>
</uc:ImageUploader>

如何才能实现这样的目标?我不知道如何调用这个概念,这使得搜索它有点困难。

1 个答案:

答案 0 :(得分:1)

在你的用户控件(ImageUploader)中,你会像这样创建属性

 public List<Size> Sizes { get; set; }

当然,您必须创建班级大小

 public class Size
 {
    public int Width { get; set; } 
    public int Height { get; set; } 
 }

之后,你可以像这样使用这个属性

<uc:ImageUploader id="uploader" runat="server">
    <Sizes>
        <asp:Size Width="120" Height="340"/>
        <asp:Size Width="170" Height="540"/>
        <asp:Size Width="130" Height="740"/>
    </Sizes>
</uc:ImageUploader>