0

私はSite.Masterに持っています:

<% if(Session["msg"]!=null) Response.Write(Session["msg"].ToString()); %>

私は送信フォームメソッドにも持っています:

protected void Send_Click(object sender, EventArgs e)
{
Session["msg"] = "Thx for email.";
Response.Redirect("~/Default.aspx");
}

しかし、ページを更新したり、別のページに移動したりすると、まだ「Thx for email」と表示されます。ただし、ユーザーは一度だけ表示する必要があります。

4

4 に答える 4

0

Session["msg"]on Page_load(の外側if(!isPostback))をクリアできます

または、マスター ページにラベルを作成し、子ページからラベルにアクセスしてそこにメッセージを挿入し、ページの読み込み時にそのラベルをクリアすると、Session を使用できなくなります。Label を使用して cssClass を設定し、太字や色の変更 (エラーの場合は赤、成功の場合は緑など) を許可することもできます。

計画メッセージだけが必要な場合は、リテラル コントロールを使用してオーバーヘッドを減らすことができます。

于 2013-06-04T14:15:33.250 に答える