2012-06-19 4 views
6

コンテンツページがあります。コンテンツページからマスターページのラベルを更新しています。値は更新されますが、更新された値は表示されません。 私は2つの方法を試しましたマスターページラベルの値が更新されないフォームコンテンツページ

1)。ラベル値を設定して取得するプロパティ(マスターページ上)を定義します。例:

public string setErrorMsg 
{   
    get { return lbl1.Text; } 
    set { lbl1.Text = value; } 
} 

2)コンテンツページからコントロール(マスターページのラベル)を見つけてそのテキストを設定することによって、例:

Label lblMasterError = this.Page.Master.FindControl("lbl1") as Label; 
lblMasterError.Text="text is updated form content page"; 

私はデバッグモードでそれを見るが、更新されたラベルの値は、この動作の考えられる理由であるかもしれないpage.Whatコンテンツに表示されていない場合の両方が値を更新していますか?

+2

?それがレンダリングされた後に設定することが可能です。 – MNGwinn

+0

コンテンツページのボタンクリックイベントのマスターページラベル値を更新しています。 –

答えて

1

なぜあなたのラベルが見つからないのか分かりませんが、以前は同じことが起こっていました。これは私のためにどのような作品です:マスターページCsに

public void SetErrorMsg(string ErrorMsg) 
{ 
    this.lbl1.Text = ErrorMsg; 
} 

背後のaspxページコード(あなたのw/myMasterPage名を置き換え)から:このコードでイベント

((myMasterPage)Master).SetErrorMsg("Some error text"); 
+1

私は多くの検索の後、問題を自分で解決しました。問題は、更新されたパネルを持つコンテンツページを通じてマスターページラベルを更新していたことです。この問題には2つの解決策があります。 1)一部のイベントで更新されたパネルのトリガを使用して部分的なポストバックを返します。または、(2)ページポストバックを行わない場合は、マスターページラベルを更新パネルに配置し、更新パネルの検索コントロールプロパティを使用して、更新パネルの更新関数を呼び出します。UpdatePanel up_pnl = UpdatePanel)Master.FindControl( "UpdatePanel1 ");ラベルテキストup_pnl.update()を更新した後に呼び出します。 –

+0

こんにちはムハンマド私は同じ問題に直面しています。更新パネルを見つける場所。マスターページまたはコンテンツページでこのコードを呼び出していますか。あなたのコードをここに入れてください。 –

関連する問題