كيفية الوصول إلى القائمة المنسدلة من EditItemTemplate of FormView
-
04-10-2019 - |
سؤال
لدي عرض نموذج على صفحتي ASPX التي تحتوي على عناصر تحكم مختلفة مرتبة باستخدام الجدول. هناك DDL "CBOCLITS" التي أحتاج إلى تمكينها أو تعطيلها اعتمادًا على الدور في وضع التحرير.
المشكلة هنا هي أنني غير قادر على الحصول على هذا التحكم باستخدام طريقة FindControl ().
لقد جربت الكود التالي -
DropDownList ddl = null;
if (FormView1.Row != null)
{
ddl = (DropDownList)FormView1.Row.FindControl("cboClients");
ddl.Enabled=false;
}
حتى أنني استخدمت حدث قاعدة البيانات لنفس التحكم -
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;
}
}
}
ولكن يحدث هذا الحدث في قاعدة البيانات مرة واحدة فقط ، ولكن ليس عند تغيير وضع FormView.
هل يمكن لأي شخص أن يوفر لي حلًا مناسبًا؟
شكرا لتقاسم وقتك.
المحلول
جرب حدث ModeChanged.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