일부 기본 속성 값을 사용하여 사용자 정의 컨트롤을 초기화하기 위해 C# 코드 (aspx)를 작성하려면 어떻게해야합니까? 나는 어떤 이벤트를 의미합니까? 컨테이너 페이지에 바인딩하는 gridview 가진 사용자 정의 컨트롤이 있습니다. 컨테이너 페이지의 페이지로드시 데이터를 바인딩합니다. initproperties에 초기화 코드를 작성하려했지만 작동하지 않았습니다. 내 usercontrol에 대한 기본값을 어디에 설정할 수 있습니까?데이터 바인딩 전에 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 충분한 오른쪽되어야 하는가? –
죄송합니다. 예. 제발! –
포스트 백 (postback) 할 때마다 호출되므로, If (Page.IsPostBack) 아래에서 상위 폼의 page_load 바로 아래에 직접 쓰지 않는 이유는 무엇입니까? – Pabuc