البحث عن التحكم في Asp.net Listview داخل قالب العنصر المحدد

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

  •  03-07-2019
  •  | 
  •  

سؤال

وأنا تحويل وظيفة من Gridview asp.net لListview. في gridview عندما تغير العنصر المحدد أود أن الاستيلاء على قيمة من التسمية في الصف المحدد والكتابة إلى تسمية مختلفة خارج gridview.

Protected Sub grdModules_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles grdModules.SelectedIndexChanged

    Dim lblModuleTitle As Label = grdModules.SelectedRow.FindControl("lblModuleTitle")
    lblCurrentModule.Text = lblModuleTitle.Text

End Sub

في لListView الذي لم يكن هناك "SelectedRow" مفهوم ولكن SelectedItem. ولكن لا يمكنك أن تفعل findcontrol ضد العنصر المحدد. عندما أحاول القيام بما يلي (أحصل على استثناء مرجع فارغة):

Protected Sub listviewModules_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles listviewModules.SelectedIndexChanged

    Dim lblModuleTitle As Label = CType(listviewModules.FindControl("lblModuleTitle"), Label)
    lblCurrentModule.Text = lblModuleTitle.Text

End Sub

لا أحد يعرف طريقة للعثور على عنصر تحكم داخل قالب العنصر المحدد؟

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

المحلول

أنت تدعو FindControl على يكون ListView كله، وليس مجرد عنصر المحدد. هذا يجب أن تعمل:

Dim lblModuleTitle As Label = CType(listviewModules.Items(listviewModules.SelectedIndex).FindControl("lblModuleTitle"), Label)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top