我有一个自定义控件,可以将当前日期打印到页面中。 该控件具有Format属性,用于设置要打印的女巫DateTime属性。 (日期,日期,年份等......)
<TSC:DateTimeWriter runat="server" Format="Year" />
但我想要的是当我输入时:
格式=“
我想显示所有可能值的列表(使用Visual Studio)。
cs代码:
public class DateTimeWriter : Control
{
public string Format { get; set; }
protected override void Render(HtmlTextWriter writer)
{
writer.Write(writeDateTime());
}
private string writeDateTime()
{
var now = DateTime.Now;
switch (Format)
{
case "Year":
return now.Year.ToString();
case "Day":
return now.Day.ToString();
etc...
default:
return now.ToString();
}
}
}
答案 0 :(得分:2)
如果使Format属性为枚举而不是字符串,VS将能够显示支持的格式列表。 E.g:
public enum DateTimeFormat
{
Year,
...
}
答案 1 :(得分:1)
创建枚举类型
命名空间YourNameSpace
{
[Serializable()]
public enum DateFormat
{
Date,
Day,
Year
}
}
然后向您的控件添加属性:
/// <summary>
/// Date Format
/// </summary>
public DateFormat DateFormat
{
get
{
if (ViewState["DateFormat"] == null || ViewState["DateFormat"].ToString().Trim() == String.Empty)
{
return DateFormat.Date; //Default
}
return (DateFormat)ViewState["DateFormat"];
}
set
{
ViewState["DateFormat"] = value;
}
}