edititemtemplate of formviewからドロップダウンリストにアクセスする方法
-
04-10-2019 - |
質問
テーブルを使用して配置されたさまざまなコントロールを含む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;
}
}
}
ただし、このDataBoundイベントは1回だけ発生しますが、FormViewモードが変更された場合は1回だけ発生しません。
誰かが私に適切な解決策を提供できますか?
あなたの時間を共有してくれてありがとう。
解決
モデリングイベントをお試しください。http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.formview.modechanged.aspx
アップデート..
これを試して
DropDownList ddl = FormView1.FindControl("cboClients") as DropDownList;
if (ddl != null) {
ddl.Enabled=false;
}
所属していません StackOverflow