テーブルを使用して配置されたさまざまなコントロールを含む aspx ページにフォームビューがあります。編集モード内の役割に応じて有効または無効にする必要がある DDL "cboClients" があります。
ここでの問題は、FindControl() メソッドを使用してそのコントロールを取得できないことです。
次のコードを試しました-
DropDownList ddl = null;
if (FormView1.Row != null)
{
ddl = (DropDownList)FormView1.Row.FindControl("cboClients");
ddl.Enabled=false;
}
私も同じコントロールの DataBound イベントを使用しました -
protected void cboClients_DataBound(object sender, EventArgs e)
{
if (FormView1.CurrentMode == FormViewMode.Edit)
{
if ((Session["RoleName"].ToString().Equals("Clients")) || (Session["RoleName"].ToString().Equals("Suppliers")))
{
DropDownList ddl = (DropDownList)sender;
ddl.Enabled = false;
}
}
}
ただし、このデータバインド イベントは 1 回だけ発生しますが、formview モードが変更されたときは発生しません。
誰かが私に適切な解決策を提供できますか?
時間を共有していただきありがとうございます。