사용자 정의 UserControl
(asp:Literal
및 일부 문자열 속성 만 포함) 및 버튼이있는 페이지가 있다고 가정 해 보겠습니다. 이제 버튼 클릭시 리터럴 텍스트를 변경하려고합니다. 버튼 클릭 이벤트에서 컨트롤의 문자열 속성을 변경합니다. 이처럼 :포스트 백에서 UserControl의 속성을 변경하는 방법?
//in aspx
protected void Button1_Click(object sender, EventArgs e)
{
testControl.Text = "triggered";
}
문제는 내 리터럴 때문에 Page_Load
이벤트가 발생 첫째 변하지 내 사용자 지정 컨트롤을 생성 한 후 Button_Clicked
화재 및 속성을 변경하지만 컨트롤이 이미 생성 될 때, 그것은 아무것도하지 않는 것입니다. 내가 속성 setter에 Page_Load
에서 사용자 지정 컨트롤의 모든 논리를 이동하는 경우 의도 한 것처럼 변경됩니다 파악
public partial class TestControl : System.Web.UI.UserControl
{
public string Text { get; set; } }
protected void Page_Load(object sender, EventArgs e)
{
lblTest.Text = Text;
}
}
:이 뒤에 내 컨트롤의 코드입니다. 좋아요 :
public string Text { get { return lblTest.Text; } set { lblTest.Text = value; } }
다른 방법이 있습니까? 내 실제 문제는 여기에 설명 된 것보다 훨씬 복잡한 컨트롤을 포함하지만 문제는 동일하게 유지됩니다. 모든 포스트 백에서 이벤트 핸들러에 설정된 모든 속성은 무시됩니다.
나에게 좋은 생각이 들리네. – tjrobinson