のいくつかのアイテムコントロールを非表示にできるようにしたいFormview
。特定の要件が満たされたときに、設定した、、およびリンクボタンがフォームビューに表示されないようにメソッドを定義しAdd
ましUpdate
たDelete
。これを実現するために使用するコードは、以下に示すものと同じです。これは、初期表示で正しく機能します。
ただし、ページングコントロールが使用されている場合、およびフォームビューに別のアイテムが表示されている場合は、リンクボタンが再び表示されます。
FormView1_PageIndexChanging
次の方法で、両方のイベントと_PageIndexChanged
イベントを使用してリンクボタンを再度非表示にしようとしました。
protected void FormView1_PageIndexChanged(object sender, EventArgs e)
{
// Check to see if PDP requirement has been removed
if (txtStatusMessages.Text == "PDP Required has been set to False for this User so PDP cannot be updated or signed off.")
{
Control lb_n = FormView1.FindControl("LinkButton_New");
lb_n.Visible = false;
Control lb_e = FormView1.FindControl("LinkButton_Edit");
lb_e.Visible = false;
Control lb_d = FormView1.FindControl("LinkButton_Delete");
lb_d.Visible = false;
}
}
コントロールを非表示にするためにテキストボックスの内容をチェックするというアイデアは、理想からはほど遠いことを理解しています。ただし、この時点では、このメソッドを使用してアイテムコントロールを非表示にできることを確認したいだけです。
デバッガーを使用してこのコードを実行する場合、ページャーボタンを使用するとイベントが発生します。表示されるプロパティがtrueからfalseに正しく変更されます。ただし、リンクボタンは引き続き表示されます。
なぜこれが期待どおりに機能しないのか誰かが知っていますか?
よろしくお願いします、ゲイリー。