/
Assignment03.aspx.cs
70 lines (65 loc) · 2.22 KB
/
Assignment03.aspx.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/*Name: Ben Ward
Assignment: 03
Date: 2/3/2016
Course: ASP.NET Class
Description: Code-behind to perform user functions for Assignment03. */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Assignment03 : System.Web.UI.Page
{
static ViewCollection views;
protected void Page_Init(object sender, EventArgs e)
{
// Instantiate view if multiview not populated
if(views == null)
views = new ViewCollection(mvUserMultiview);
// Populate multiview
for (int i = 0; i < views.Count; i++)
{
mvUserMultiview.Views.Add(views[i]);
}
}
protected void Page_Load(object sender, EventArgs e)
{
// Handle custom dropdown visibility behavior
ddNavigation.Visible = false;
if(IsPostBack)
ddNavigation.Visible = true;
// Enable automatic postback for selectedchangeindex event
ddNavigation.AutoPostBack = true;
}
protected void btnUserButton_Click(object sender, EventArgs e)
{
try
{
int numOfViews = Convert.ToInt32(txtUserTextbox.Text); // Get number of views from textbox
views.Clear();
for (int i = 0; i < numOfViews; i++)
{
// Create view
Label lblOne = new Label();
lblOne.Text = "View " + (i+1).ToString();
View myViewOne = new View();
myViewOne.Controls.Add(lblOne);
// Build view list
views.Add(myViewOne);
mvUserMultiview.Views.Add(myViewOne);
// Build navigation list
ddNavigation.Items.Add("View " + (i+1));
}
ddNavigation.Visible = true; // Unhide dropdown
mvUserMultiview.ActiveViewIndex = 0; // Set multiview focus to first view
}
catch
{
}
}
protected void ddNavigation_SelectedIndexChanged(object sender, EventArgs e)
{
mvUserMultiview.ActiveViewIndex = ddNavigation.SelectedIndex; // When dropdownlist selected index changed, change multiview active view accordingly
}
}