Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
4 / 4 / 1
Регистрация: 12.11.2014
Сообщений: 60
1

Использование группы КомбоБоксов влияющих друг на друга

07.02.2017, 18:02. Показов 471. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть вот такой код написанный на WinForms:
Кликните здесь для просмотра всего текста

C#
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
public partial class Form1 : Form
    {
        MyJsonObject[] CountryArr = null;
        MyJsonObject[] CityArr = null;
        MyJsonObject[] UnivArr = null;
        [JsonObject(MemberSerialization.OptIn)]
        struct MyJsonObject
        {
            [JsonProperty("id")]
            public int ID { get; set; }
 
            [JsonProperty("title")]
            public string Name { get; set; }
 
        }
 
 
 
 
 
        public Form1()
        {
            InitializeComponent();
 
 
            {
                WebRequest request =
                WebRequest.Create("https://api.vk.com/method/database.getCountries?need_all=1&count=1000&v=5.62");
                WebResponse response = request.GetResponse();
                Stream dataStream = response.GetResponseStream();
                StreamReader reader = new StreamReader(dataStream);
 
                string responseFromServer = reader.ReadToEnd();
                reader.Close();
                response.Close();
                responseFromServer = HttpUtility.HtmlDecode(responseFromServer);
                
               
            try
            {
            
                Newtonsoft.Json.Linq.JObject jObject = Newtonsoft.Json.Linq.JObject.Parse(responseFromServer);
                CountryArr = JsonConvert.DeserializeObject<MyJsonObject[]>(jObject["response"]["items"].ToString());
 
 
 
            }
            catch (Exception e)
            {
                MessageBox.Show("Произошла ошибка при получении списков!\n" + e.Message);
            }
 
        if(CountryArr != null)
            foreach (var Go in CountryArr)
            {
                comboBox1.Items.Add(Go.Name);
 
            }
 
 
            }
 
 
 
        }
 
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            comboBox2.Items.Clear();
                WebRequest request =
                WebRequest.Create("https://api.vk.com/method/database.getCities?country_id=" + CountryArr.Single(ef => ef.Name == comboBox1.SelectedItem.ToString()).ID + "&need_all=0&count=1000&v=5.62");
                WebResponse response = request.GetResponse();
                Stream dataStream = response.GetResponseStream();
                StreamReader reader = new StreamReader(dataStream);
 
                string responseFromServer = reader.ReadToEnd();
                reader.Close();
                response.Close();
                responseFromServer = HttpUtility.HtmlDecode(responseFromServer);
 
 
                try
                {
                    Newtonsoft.Json.Linq.JObject jObject = Newtonsoft.Json.Linq.JObject.Parse(responseFromServer);
                    CityArr = JsonConvert.DeserializeObject<MyJsonObject[]>(jObject["response"]["items"].ToString());
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Произошла ошибка при получении списков!\n" + ex.Message);
                }
 
                if (CityArr != null)
                    foreach (var Go in CityArr)
                    {
                        comboBox2.Items.Add(Go.Name);
                    }
 
 
            
        }
 
        private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)
        {
            comboBox3.Items.Clear();
            WebRequest request =
            WebRequest.Create("https://api.vk.com/method/database.getUniversities?country_id=" + CountryArr.Single(ef => ef.Name == comboBox1.SelectedItem.ToString()).ID + "&city_id=" + CityArr.Single(ef => ef.Name == comboBox2.SelectedItem.ToString()).ID + "&count=10000&v=5.62");
            WebResponse response = request.GetResponse();
            Stream dataStream = response.GetResponseStream();
            StreamReader reader = new StreamReader(dataStream);
 
            string responseFromServer = reader.ReadToEnd();
            reader.Close();
            response.Close();
            responseFromServer = HttpUtility.HtmlDecode(responseFromServer);
            try
            {
                Newtonsoft.Json.Linq.JObject jObject = Newtonsoft.Json.Linq.JObject.Parse(responseFromServer);
                UnivArr = JsonConvert.DeserializeObject<MyJsonObject[]>(jObject["response"]["items"].ToString());
            }
            catch (Exception ex)
            {
                MessageBox.Show("Произошла ошибка при получении списков!\n" + ex.Message);
            }
 
            if (UnivArr != null)
                foreach (var Go in UnivArr)
                {
                    comboBox3.Items.Add(Go.Name);
                }
 
 
        }
    }

Его суть в том что используя ВК АПИ я: В 1-ом Комбо получаю все страны, в зависимости от выбранной страны во 2-ом комбо через такой же запрос к ВК получаю список городов в стране, и в 3-ем от городов получаю уже учебные заведения.
Только вот я не понимаю как такой же функционал реализовать на MVC, помогите пожалуйста :с
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2017, 18:02
Ответы с готовыми решениями:

Как в PHP отделить элементы друг от друга, чтобы не ругались друг на друга?
&lt;?php $chitat = fopen('yoo.txt', 'r'); if (!$chitat) { echo 'Ошибка при открытии файла...

Классы, использование полей и методов друг друга
Здравствуйте, не могли бы вы мне подсказать, это скорее относится к C++ чем к Qt. У меня есть...

Создать последовательность всех участников, в которой участники из одной группы были бы максимально далеко друг от друга
Здравствуйте, уважаемые форумчане! Прошу помочь решить задачку. Условия: Имеется 5 групп. В...

Тестируем друг-друга
Тестируем друг-друга. Столкнулся с тем что куча людей называют себя программистами - являясь...

5
3462 / 2473 / 695
Регистрация: 02.08.2011
Сообщений: 6,704
07.02.2017, 19:10 2
Цитата Сообщение от YarQaaaa Посмотреть сообщение
Только вот я не понимаю как такой же функционал реализовать на MVC
Это на клиенте решается, js вам в помощь, сын мой .
0
4 / 4 / 1
Регистрация: 12.11.2014
Сообщений: 60
07.02.2017, 19:31  [ТС] 3
IamRain, ох, а можете показать пример? Я ДжС не знаю, и понятия не имею как это реализовать :с
0
3462 / 2473 / 695
Регистрация: 02.08.2011
Сообщений: 6,704
07.02.2017, 19:43 4
http://www.w3schools.com/jsref/event_onchange.asp
Там есть кнопочка Try it yourself. Там посмотрите код.

Добавлено через 4 минуты
Вам нужно добавить обработчик этого события вот на этот тег.
0
4 / 4 / 1
Регистрация: 12.11.2014
Сообщений: 60
07.02.2017, 22:08  [ТС] 5
IamRain, этого мне маловато чтоб сделать нужный фрагмент :(
0
2735 / 2041 / 380
Регистрация: 22.07.2011
Сообщений: 7,731
08.02.2017, 19:56 6
Зачем Вам mvc есть есть рабочий вариант на формах ? - тут Вам помимо javascrip-а еще и различные js библиотеки придется учить + кроссбраузерную работу с DOM + веб.апи , ну или писать специальный контрол под mvc , в общем так просто как в формах не отделаетесь ).
0
08.02.2017, 19:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2017, 19:56
Помогаю со студенческими работами здесь

Наложение друг на друга
Добрый день форумчане у меня происходит вот такое с чем это может быть связано?

слои налезают друг на друга
Помогите, пожалуйса! Я уже весь Интернет облазил, глаза болят - и про резиновые сайты читал, и про...

Подключение .h файлов друг в друга
Здравствуйте. Появилась такая проблема: есть два .h файла, и они перекликаются содержимым: в одном...

Зависимость функций друг от друга
Здравствуйте, уважаемые форумчане! Мне необходимо построить график функции, которая задана...

Зависимость ячеек друг от друга
Здравствуйте, разбираюсь не очень хорошо, поэтому прошу помощи, необходимо сделать отчет по...

Изоляция процессов друг от друга
Добрый день всем. Есть небольшая проблема. В моем приложении пользователь генерирует файл Word,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru