还有一个public Login() : base() { //这行是什么意思啊?            // Assign a default template name
            if (SkinFilename == null)
                SkinFilename = skinFilename;        }

解决方案 »

  1.   

    ParseChildren(true),我的了解是在开发服务器组件中用到的。
    默认情况下,子属性的持久性是通过在控件标签中使用带连字符的语法实现的。如:
    <asp:TextBox id="textbox1" Font-Name="Verdana" runat="server">中的Font-Name。
    但是对于复杂属性我们可以实现另一种持久保存方式。这种形式由在页面中的控件标签中嵌套子属性组成的。这称为内部属性持久性。如:
    <asp:DataGrid runat="server">
    <headerstyle ForeColor="Red"/>
    </asp:DataGrid>
    为了可以使用内部属性持久性,就必须使用ParseChildren(true)来标示控件,它告诉页面解析器把控制标签内的内容解析成属性。
    看了上面的文字,楼主明白了吧?推荐你看一本书:《ASP.NET服务器组件与控件开发》。
    一般我们还使用PersistChildren(false)来说明内部内容作为属性而不是子控件持久保存。所以也可以常常看见这样的代码:
    [
    ParseChildren(true),
    PersistChildren(false)
    ]