기본 페이지의 버튼으로 활성화 된 C# 코드의 레이블 텍스트를 변경하려고합니다. here, here 및 here을 보았다면서 나는 이런 식으로처럼 텍스트 값 ...레이블의 텍스트를 변경하지 못했습니다 - 그 이유는 무엇입니까?
try
{
mylabel.Text = "";
do_foo (blah);
}
catch (myexception ex)
{
mylabel.Text = ex.ToString();
}
을 설정하는 것은 내가 찾고 오류 메시지를 생성한다는 것을 이해합니다. 그러나 코드를 단계별로 실행하면 할당이 모두 실행된다는 사실에도 불구하고 레이블 텍스트는 변경되지 않습니다.
누구나 내가이 작업을하거나 작동하지 않는 이유를 알아 내려고 시도 할 수있는 아이디어가 있습니까?
EDIT 자세한 내용은 질문에 답했습니다 (지금까지 도움을 주셔서 감사합니다).
ASP.NET 페이지에는 다음과 같은 부분이 있습니다.
<div class="section3Header">
<span class="heading1">Some Heading</span>
<input id="Button2" class="button2" type="button" value="Do Work" onclick="do_work();" />
</div>
버튼 일부 자바 스크립트 활성화 :
function do_work() {
CallBackOU.callback("Do Work");
}
하고는 C# 코드 호출
protected void CallBackOU_Callback(object sender, ComponentArt.Web.UI.CallBackEventArgs e)
{
if (e.Parameter == "Do Work")
{
this.CallBackOUHelper_Do_Work (e.Output);
}
}
을 그 함수를 호출
-이 :이 버튼은 다음과 같이 정의된다private void CallBackOUHelper_Do_Work (HtmlTextWriter writer)
{
try
{
mylabel.Text = "";
do_foo (blah);
}
catch (myexception ex)
{
mylabel.Text = ex.ToString();
}
}
끈적 거리는 소리가 있습니다. 분명히 이보다 더 많은 코드를 프로젝트에서 다루지 만, 모든 것을 포함 할 수없고 어떤 비트가 중요한지 확실하지 않습니다.
EDIT 2 코드를 활성화하는 버튼은 ComponentArt:CallBack
입니다. 이 제품에 대한 문서를 공부하면 here이 문제가 될 수 있다고 생각합니다. 이 객체 바깥 쪽의 화면 부분이 게시되지 않은 경우 자연스럽게 레이블 (바깥 쪽)은 변경되지 않습니다.
레이블 텍스트의 내용은 무엇입니까? –
@Tim B, 레이블은 "레이블"이라고 말하기 쉬운 형태로 설정되어 있습니다.이 레이블이 작동하기까지는 어디에서 볼 수 있습니다. –
이것은 어디에서 실행됩니까? 예 : Form_Load 또는 그 이전? –