2 ضمیمه
خطا در کلیک بر روی کلید موجود در MultiView
سلام....
من یک MultiView ایجاد کردم که در ثسمت کد View ها اضافه می شن:
Dim View As View
Dim Content As Button
Me.MultiView1.Views.Clear()
For Each Entry As AppProjects In Entries
View = New View
With View
.ID = String.Format("Project:{0}", Entry.Id)
.ViewStateMode = UI.ViewStateMode.Disabled
Content = New Button
With Content
.ID = Entry.Id
.Text = Entry.Title
AddHandler .Click, AddressOf ViewItem_Click
End With
.Controls.Add(Content)
End With
Me.MultiView1.Views.Add(View)
Me.MultiView1.SetActiveView(View)
Next
ضمیمه 156338
ولی با کلیک بر روی کلیدو این خطا رو برمیگردونه:
ضمیمه 156337
1 ضمیمه
نقل قول: خطا در کلیک بر روی کلید موجود در MultiView
من با یان روش حلش کردم که متغیری با Access Level در کل پروژه ایجاد کردم که آیتم ها از طریق اون ساخته می شه:
Friend Entries As List(Of AppProjects)
و در رویداد Init از Page در صورتیکه متغیرو مقداری داشته باشه آیتم ها ساخته می شن:
Private Sub Page_Init(sender As Object, e As System.EventArgs) Handles Me.Init
Me.MultiView1.Views.Clear()
Me.FindListBox.Items.Clear()
Me.MultiView1.ActiveViewIndex = -1
If Entries Is Nothing OrElse Entries.Count = 0 Then Exit Sub
Dim View As View
Dim Content As ViewItem
For Each Entry As AppProjects In Entries
View = New View
With View
.ID = String.Format("Project:{0}", Entry.Id)
.ViewStateMode = UI.ViewStateMode.Disabled
Content = New ViewItem
Content = LoadControl("~/Custom Contents/ViewItem.ascx")
With Content
.ID = Entry.Id
End With
Me.FindListBox.Items.Add(New ListItem(String.Format("{0}) {1}", MultiView1.Views.Count + 1, Entry.Title), Entry.Id))
.Controls.Add(Content)
End With
Me.MultiView1.Views.Add(View)
Me.MultiView1.SetActiveView(View)
Next
End Sub
و بعد از گرفتن مقدار متغیر صفحه Refresh می شه:
Entries = FindInProjects(Me.ProjectTitle.FieldValue)
Response.Redirect("#")
بنابراین متغیرو آیتم داره و با Reload صفحه آیتم ها درست می شن:
ضمیمه 156341
Private Sub FindListBox_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles FindListBox.SelectedIndexChanged
If Me.MultiView1.Views.Count = 0 Then Exit Sub
Me.MultiView1.ActiveViewIndex = Me.FindListBox.SelectedIndex
End Sub