繁体   English   中英

Web用户控件设置默认值

[英]Web user control set default value

如何将“文本”的默认值设置为“ abc”?

public enum MessageType
{
    Good,
    Bad
}

public partial class Message : System.Web.UI.UserControl
{
    public bool Visible { get; set; }       // Is the error visible
    public string Text { get; set; }        // Text of the error message
    public MessageType Type { get; set; }   // Message type

    protected void Page_Load(object sender, EventArgs e)
    {
        ErrorPanel.Visible = this.Visible;
        ErrorMsg.Text = this.Text;

        // Hide if nothing to display
        if (this.Text == null)
                this.Visible = false;

        // Set correct CSS class
        if (this.Type == MessageType.Good)
            ErrorPanel.CssClass = "good-box";
        else
            ErrorPanel.CssClass = "bad-box";
    }
}

也许您可以使用旧式的属性声明

private string _Text = "abc";

public string Text
{
   get { return _Text; }
   set { _Text = value; }
}

您可以向属性添加DefaultValue属性吗?

例如:

[System.ComponentModel.DefaultValue( "abc" )]
public string Text {get;set;}

我相信最好的地方是在类的构造函数

要么

private string _Text;    
public string Text
{
   get { return _Text ?? "Your Default"; }
   set { _Text = value; }
}

编辑

DefaultValueAttribute不会导致成员使用该属性的值自动初始化。 您必须在代码中设置初始值。

从MSDN

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM