التغييرات DropDownList.SelectedValue (كعنصر تحكم الطفل في FormView) عدم ثبات

StackOverflow https://stackoverflow.com/questions/311250

سؤال

حسنا، لدي FormView مع اثنين من عناصر التحكم التابعة في InsertItemTemplate. واحد منهم هو دروبدوونليست، ودعا DdlAssigned. I مرجع له في طريقة ONLOAD صفحة ومثل ذلك:

protected void Page_Load(object sender, EventArgs e)
{
    ((DropDownList)FrmAdd.FindControl("DdlAssigned")).SelectedValue =
          ((Guid)Membership.GetUser().ProviderUserKey).ToString();
}

وأساسا أنا فقط تحديد القيمة الافتراضية للدروبدوونليست للمستخدم بتسجيل الدخول حاليا.

وعلى أي حال، عندما الصفحة انتهاء تحميل التغيير SelectedValue لا ينعكس على الصفحة. I خرج من ONLOAD وأستطيع أن أرى التغيير ينعكس في قائمتي ووتش، ولكن عند كل ما يقال ويفعل شيئا في مختلف على الصفحة.

هل كانت مفيدة؟

المحلول

وأنا أحسب من ذلك. أنا لا تزال مفقودة تماما لماذا أنها لا تعمل فقط على FormLoad، ولكن أداء التغيير في حالة ربط بيانات وFormView من لا حيلة.

protected void FrmAdd_DataBound(object sender, EventArgs e)
{
    // This is the same code as before, but done in the FormView's DataBound event.
    ((DropDownList)FrmAdd.Row.FindControl("DdlAssigned")).SelectedValue =
        ((Guid)Membership.GetUser().ProviderUserKey).ToString();
}

وهكذا، اعتقد ان القاعدة العامة التي تقضي بجعل هو أنه إذا كنت تواجه مشاكل في إجراء تغييرات على الضوابط عند العمل مع ربط البيانات، في محاولة لجعلها على الفور بعد أن تم الالتزام به.

نصائح أخرى

وكان لي مشكلة مع dropdownlists وجعل القيمة الأولى تقول شيئا مثل، "الرجاء تحديد قيمة ..." ولكن دون أن يجعل من عنصر اختيار الفعلي، ولا تظهر على دروبدوونليست. لقد ربط DDL في page_load ولدي للتأكد من أن أضع نص دروبدوونليست، بعد ذلك تم ملزمة مع البيانات. كنت قد أنجزت الشيء نفسه عن طريق إضافته إلى قسم ربط بيانات الخاصة بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top