您好,我正在設計一個自定義的.net Web控件,它繼承自aspx下拉列表。 這個想法是有一個下拉列表,將顯示年份值,直到今年。我希望能夠設置控件可以啓動的「StartYear」屬性,或者使用默認日期。我能夠創建這個控件,但它總是使用日期。看來我無法在後面的代碼中使用aspx代碼中的屬性設置。我的前端代碼是....簡單的自定義網頁控制
<customControls:YearDropDownList StartYear="2000" ID="ddlYear" runat="server"/>
和後面的代碼是
using System;
using System.ComponentModel;
using System.Globalization;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace customControls {
[ToolboxData("<{0}:ServerControl1 runat=server></{0}:ServerControl1>")]
[DefaultProperty("StartYear")]
public class YearDropDownList : DropDownList
{
public YearDropDownList() {
for (int i = Int32.Parse(StartYear); i <= DateTime.Now.Year; i++)
{
this.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
}
public string StartYear {
get{
String s = (String)ViewState["StartYear"];
return ((s == null) ? "2009":s);
}
set{
ViewState["StartYear"] = value;
}
}
}
}
如何從構造有什麼不同,然後編寫代碼構造調用一個函數? – JBone 2013-02-28 18:03:26
@JBone它不是,而是在構造函數和屬性中兩次編寫代碼,我將它移入自己的方法中,並從兩個位置調用它。爲什麼在不需要的時候編寫代碼兩次? – DiskJunky 2013-02-28 18:05:57
啊沒有看到它在setter,我會嘗試這 – JBone 2013-02-28 18:07:25