メインページのボタンでアクティブになっているC#コードのラベルのテキストを変更しようとしています。 here、hereとhereを見た私は、このようにそうであるようにテキスト値...ラベルのテキストの変更に失敗しました - なぜでしょうか?
try
{
mylabel.Text = "";
do_foo (blah);
}
catch (myexception ex)
{
mylabel.Text = ex.ToString();
}
を設定すると、私が探しているエラーメッセージを生成しなければならないことを理解しています。しかし、コードをステップ実行すると両方の割り当てが実行されることが示されているにもかかわらず、ラベルテキストは変更されません。
私はこの仕事をするか、それがうまくいかないのかを知ろうと考えていますか?
EDITもう少し詳しく質問しました(これまでのおかげで、チャップス)。
ASP.NETページには、次の部分があります。ボタンはいくつかのJavascriptをアクティブに
<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();
}
}
gooがあります明らかにこれよりも多くのコードをプロジェクトで扱っていますが、それをすべて含めることはできませんし、どのビットが重要であるかわかりません。
EDIT 2コードを有効にするボタンは、ComponentArt:CallBack
です。この製品のドキュメントを調べると、これが問題である可能性があります。このオブジェクトの外側にある画面の一部がポストバックされていない場合、自然にラベル(外側)は変更されません。
ラベルのテキストは何を表していますか? –
@Tim Bでは、ラベルは「ラベル」と言う形で設定されているので、これを動作させるまではどこにあるかわかります。 –
これはどこで実行されますか?例:Form_Load以前か? –