いくつかの既定のプロパティ値でユーザーコントロールを初期化するためにC#コード(aspx)を書くにはどうすればよいですか?私はどこ/どのイベントを意味するのですか?私はコンテナページにバインドするグリッドビューを持つユーザーコントロールを持っています。コンテナページのページロード時に、データをバインドします。 initpropertiesに初期化コードを書こうとしましたが、うまくいきませんでした。私のusercontrolのデフォルト値はどこで設定できますか?データバインディングの前にusercontrolプロパティを初期化する場所は?
編集: 私はすでに財産があり、DIVの1つの幅を変更しています。ここで動作していないコードです。
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十分、右すべきですか? –
おっと!ありがとう! –
よくポストバックするたびに呼び出されるので、If(Page.IsPostBack)の下で親フォームのpage_loadの下に直接書き込むのはなぜですか? – Pabuc