我試圖改變主頁上按鈕激活的一段C#代碼中的標籤文本。說完看着here,here和here我的理解是設置爲我這樣做的文本值...未能更改標籤的文字 - 任何想法爲什麼?
try
{
mylabel.Text = "";
do_foo (blah);
}
catch (myexception ex)
{
mylabel.Text = ex.ToString();
}
應該產生我在尋找的錯誤消息。但是,儘管遍歷代碼顯示兩個賦值都已執行,但標籤文本保持不變。
有沒有人有任何想法我可以嘗試,要麼做這項工作,要找出它爲什麼不工作?
編輯一些更多的細節問(到目前爲止,感謝您的幫助,chaps)。
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>
的按鈕激活一些JavaScript:
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();
}
}
有一個咕d顯然,在這個項目中處理更多的代碼比較明顯,但是我不能全部包含這些代碼,並且我不確定哪些位很重要。
編輯2激活代碼的按鈕位於ComponentArt:CallBack
之內。研究此產品的文檔here使我懷疑這可能是問題;如果該對象外部的屏幕部分未被回傳,則標籤(外部)自然不會改變。
標籤文字說什麼? –
@Tim B,標籤在表單中設置爲「標籤」,這樣我就可以看到它的位置,直到我可以使用它爲止。 –
這是在哪裏執行的?例如在Form_Load中或之前? –