C# 我们可以从页面标记设置ListDictionary属性吗?

C# 我们可以从页面标记设置ListDictionary属性吗?,c#,asp.net,C#,Asp.net,我可以在ASP.NET页面的标记中设置此属性吗?怎么做 我的意思是您可以在IMHO中编写此语句。使用[System.ComponentModel.CategorySettings],然后属性将显示在标记IntelliSense中 我认为您需要一种变通方法,因为标记中的所有值都是字符串,所以您需要将它们解析到特定的类中: private ListDictionary parameters; public ListDictionary Parameters { get {

我可以在ASP.NET页面的标记中设置此属性吗?怎么做


我的意思是您可以在IMHO中编写此语句。

使用[System.ComponentModel.CategorySettings],然后属性将显示在标记IntelliSense中

我认为您需要一种变通方法,因为标记中的所有值都是字符串,所以您需要将它们解析到特定的类中:

private ListDictionary parameters;
public ListDictionary Parameters
{
    get
    {
        if (parameters == null) parameters = new ListDictionary();
        return parameters;
    }
    set
    {
        if (parameters == null) parameters = new ListDictionary();
        parameters = value;
    }
}
或使用内联aka代码块,例如:

<uc1:CustomControl Parameters="foo,bar" />

[Category("Settings")]
public string Parameters
{
    set
    {
        var arr = String.Split(",", value).Select(p => p.Trim());
        if (parameters == null) parameters = new ListDictionary();
        foreach (string p in arr)
            parameters.Add(p);

    }
}
<%= new ListDictionary { "foo", "bar " } %>