2009-10-09 51 views
0

这可能是一个非常简单的答案,但我没有写很多控件,而且我也不能真正想到Google的正确单词正确:VS中的ASP.NET自定义控制 - 如何正确地制作VS格式

我有我建立了一个自定义的控制,而当我在VS的HTML编辑器创建一个实例,我键入以下内容:

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

当我键入右尖括号,VS重新格式化它到

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

它按钮和其他通常自闭的标签。

我的控件具有我想要使用的内部内容,所以我必须更改结尾,并手动添加结束标记。我希望它的行为像TextBox一样,在输入结束括号时,它会添加和离开光标在里面。

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

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

感谢

回答

1

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

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

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

还有一个更广泛的解释here

+0

感谢您的评论 - 这是我已经,这是什么使解析器/编译器功能正常呈现控制。但是,它并不会使Visual Studio将控件识别为需要内部内容的控件,因此它仍然会在最后自动应用/>。 有没有其他想法? 谢谢 – 2009-10-12 15:30:57