ユーザー ロールに基づいて個々のセルを無効にできる、データ バインドされた GridView コントロールがあります。これは最初のページでのみ機能します。
private void LimitAccessToGridFields()
{
if (User.IsInRole("Processing")) return;
foreach (GridViewRow gridViewRow in gvScrubbed.Rows)
{
var checkBox = ((CheckBox) gridViewRow.FindControl("cbScrubbed"));
checkBox.Enabled = false;
// ButtonField does not have an ID to FindControl with
// Must use hard-coded Cell index
gridViewRow.Cells[1].Enabled = false;
}
}
このメソッドは、機能する Page_Load で呼び出します。PageIndexChaging および PageIndexChanged イベント ハンドラーで試しましたが、機能しません。デバッグ中、行の両方のコントロールで Enabled が false に正常に設定されているように見えます。私の目標は、ページを変更した後、ユーザーの役割に応じてこれらのフィールドを無効にすることです。これはどのように達成されるべきですか?