VS中的ASP.NET自定义控件 - 如何正确制作VS格式

时间:2009-10-09 23:49:59

标签: asp.net visual-studio custom-controls

这可能是一个非常简单的答案,但我没有写过很多控件,而且我无法真正想到Google正确的单词:

我有自己构建的自定义控件,当我在VS的HTML编辑器中创建实例时,我输入以下内容:

<cc1:MyControlName id="id1" runat="server">

当我键入关闭尖括号时,VS会将其重新格式化为

<cc1:MyControlName id="id1" runat="server" />

按钮和其他通常自动关闭的标签的方式。

我的控件具有我想要使用的内部内容,因此我必须更改结尾,并手动添加结束标记。我希望它的行为类似于TextBox,在键入结束括号时,它会添加并将光标留在内部。

我假设这是通过属性或类中定义的其他内容完成的,但我似乎无法找到它是什么。有什么想法吗?

显然这并不是那么重要,因为它只是一些额外的击键,但我只是想让它尽可能方便使用。

由于

1 个答案:

答案 0 :(得分:1)

使用ParseChildrenAttribute类,声明控件类的ParseChildren属性。这将指定内部内容应该读入特定属性(示例中的名称)。 PersistenceMode属性指定如何序列化内部内容。

[ParseChildren(true, "Name"), 
DefaultProperty("Name")] 
public class Foo 
{ 
    //...

   [PersistenceMode(PersistenceMode.InnerDefaultProperty)]
   public string Name 
    { 
        get ; set;
    } 
}

还有更广泛的解释here