如何編寫C#代碼(aspx)以用某些默認屬性值初始化用戶控件?我的意思是哪裏/哪個事件?我有一個用戶控件,它具有綁定在容器頁面上的gridview。在容器頁面的頁面加載中,我綁定了數據。我試圖在initproperties中編寫初始化代碼,但它不起作用。請建議我在哪裏設置我的用戶控件的默認值?在數據綁定之前初始化usercontrol屬性的位置?
編輯: 正如DOK建議..我已經有一個屬性,我改變其中一個DIV的寬度。這是不工作的代碼。
public int CollapsiblePanelWidth
{
set
{
if (DataDiv.Attributes["style"] != null)
{
if (DataDiv.Attributes["style"].Contains("width:"))
{
string[] array = DataDiv.Attributes["style"].Split(new char[] { ';' });
array = Array.FindAll(array, ContainsWidthAttribute);
string result = "";
foreach (string s in array)
{
result += s + "; ";
}
DataDiv.Attributes["style"] = result + " width: " + Convert.ToString(value != null ? value : COLLAPSIBLEPANELWIDTH) + "px;";
}
else
{
DataDiv.Attributes["style"] += " width: " + Convert.ToString(value != null? value:COLLAPSIBLEPANELWIDTH) + "px;";
}
}
else
{
DataDiv.Attributes.Add("style", "width: " + Convert.ToString(value != null ? value : COLLAPSIBLEPANELWIDTH) + "px;");
}
GridView1.Width = Unit.Parse(Convert.ToString(value != null ? value : COLLAPSIBLEPANELWIDTH - 2));
}
}
這隻適用於在調用程序時設置寬度。否則,不會添加style="width: 105px;"
的默認值。
ASP.NET,對不對? – 2011-01-10 19:37:53
哎呀..是的請! – 2011-01-10 19:38:37
好,因爲每次回發時都會調用它,爲什麼不直接在If(Page.IsPostBack)下的父窗體的page_load下寫它? – Pabuc 2011-01-10 21:43:44