Asp.net 在ASPX代码中初始化字典属性

Asp.net 在ASPX代码中初始化字典属性,asp.net,user-controls,dictionary,properties,Asp.net,User Controls,Dictionary,Properties,我目前正试图通过ASP.NET 2.0代码初始化UserControl的Dictionary属性,但找不到有效语法 假设我有一个非常简单的UserControl,它具有Dictionary属性: using System; using System.Collections.Generic; using System.Web.UI; public class MyUserControl : UserControl { [PersistenceMode(PersistenceMode.In

我目前正试图通过ASP.NET 2.0代码初始化UserControl的Dictionary属性,但找不到有效语法

假设我有一个非常简单的UserControl,它具有Dictionary属性:

using System;
using System.Collections.Generic;
using System.Web.UI;

public class MyUserControl : UserControl
{
    [PersistenceMode(PersistenceMode.InnerProperty)]
    public Dictionary<string, string> Dict { get; set; }
}
使用系统;
使用System.Collections.Generic;
使用System.Web.UI;
公共类MyUserControl:UserControl
{
[PersistenceMode(PersistenceMode.InnerProperty)]
公共字典Dict{get;set;}
}
如何在ASPX页面中初始化它

我尝试过不同的方法,比如下面的方法,但都不奏效:

<my:MyUserControl>
    <Dict>
        <dictionaryentry key="a_key" value="a_value" />
    </Dict>
</my:MyUserControl>

我还尝试用add或KeyValuePair替换dictionaryentry,但运气不佳

有人知道用简单的ASPX代码实现这一点的方法吗? 我可以在我的页面中使用C#,但我寻求一种更“经典”的解决方案

谢谢你的回答

--

Eric

不幸的是,这并没有那么简单-您必须公开一个可以保存集合的属性,然后为该集合提供一个编辑器类型。请参见下面的示例代码。

不幸的是,这并没有那么简单-您必须公开一个可以保存集合的属性,然后为该集合提供一个编辑器类型。请参阅此示例代码。

这有帮助吗?嗯,我已经看过这篇文章了,但它是针对一个自定义类的,而不是一个简单的字典。但是谢谢你的提示。这有用吗?嗯,我已经看过这篇文章了,但它是针对一个自定义类的,而不是一个简单的字典。但是谢谢你的提示。很遗憾,但我必须承认,我将不得不依赖一个带有集合的自定义类,而不是一个简单的字典。谢谢你的回答。很遗憾,但我必须承认,我将不得不依赖一个带有集合的自定义类,而不是一个简单的字典。谢谢你的回答。