代码之家  ›  专栏  ›  技术社区  ›  Joe Enos

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

  •  0
  • Joe Enos  · 技术社区  · 15 年前

    这可能是一个很简单的答案,但我没有写很多控件,我也无法真正想出正确的词来谷歌它:

    我构建了一个自定义控件,在vs中的html编辑器中创建实例时,我键入以下内容:

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

    当我键入结束尖括号时,vs将其重新格式化为

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

    它处理按钮和其他通常是自动关闭的标记的方式。

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

    我假设这是通过一个属性或者类中定义的其他东西来完成的,但是我似乎找不到它是什么。有什么想法吗?

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

    谢谢

    1 回复  |  直到 15 年前
        1
  •  1
  •   Mircea Grelus    15 年前

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

    [ParseChildren(true, "Name"), 
    DefaultProperty("Name")] 
    public class Foo 
    { 
        //...
    
       [PersistenceMode(PersistenceMode.InnerDefaultProperty)]
       public string Name 
        { 
            get ; set;
        } 
    }
    

    还有更广泛的解释 here .