Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 26.03.2018
Сообщений: 10

Отображение связанных таблиц в View

26.03.2018, 12:17. Показов 3691. Ответов 11

Студворк — интернет-сервис помощи студентам
Всем привет! В MVC новичок, строго не судите! Помогите с вопросом. Имеется главная таблица "Torgs" ID, RUNAME, RUADRES где хранятся название ВУЗов и адресов. и связанная таблица один ко многим "Torgsps" ID, TorgsId, RUSPES,RUKVAL где хранятся специальности ВУЗов. Подключаюсь через LINQ to SQL, контексты и модели создает автоматический.
в контроллере
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class HomeController : Controller
    {
        // GET: Home
        TorgDataContext dborg = new TorgDataContext();
        public ActionResult Index()
        {
            var org = dborg.Torgs.Include(k=>k.Torgsps);   <== Выводит всех вузов в View Index
            return View(org.ToList());
        }
        public ActionResult Index(int? id)
        {
           // ViewBag.orgname = dborg.Torgs.FirstOrDefault(o => o.ID == id);
            var orgs = dborg.Torgsps.Where(u => u.TorgsId == id).ToList(); <== Пытаюсь вывести специальности выбранного ВУЗа рядом в блоке <div>
            return View(orgs);
        }
    }
Если так тогда компилятор ругается
Пытался сделать вот так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class HomeController : Controller
    {
        // GET: Home
        TorgDataContext dborg = new TorgDataContext();
        public ActionResult Index()
        {
            var org = dborg.Torgs.Include(k=>k.Torgsps);   <== Выводит всех вузов в View Index
            return View(org.ToList());
        }
        public ActionResult [B]Detail[/B](int? id)
        {
           // ViewBag.orgname = dborg.Torgs.FirstOrDefault(o => o.ID == id);
            var orgs = dborg.Torgsps.Where(u => u.TorgsId == id).ToList(); <== Пытаюсь вывести специальности выбранного ВУЗа рядом в блоке <div>
            return View(orgs);
        }
    }
теперь в View проблемы
HTML5
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
@model IEnumerable<WebApplication12.Models.Torgs> 
 <div> 
        @foreach (var o in Model) <==Вывод всех ВУЗов
        {
            <table>
                <tr>
                    <td>@Html.DisplayFor(modelItem=>o.RUNAME)</td>
                    <td>@Html.DisplayFor(modelItem => o.RUADRES)</td>
                </tr>
                <tr>
                    <td>@Html.ActionLink("Podrobnee","Detail", new { id = o.ID })</td>
                </tr>
            </table>
        }
        <hr />
       @foreach (WebApplication12.Models.Torgsps in Model) <==Пытаюсь вывести специальностей выбранного ВУЗа но 
выходит ошибка "Не удается преобразовать тип WebApplication12.Models.Torgs в WebApplication12.Models.Torgsps"
       {
        <table>
            <tr>
                <td>
                    @s.RUSPES
                </td>
                <td>
                    @s.RUKVAL
                </td>
            </tr>
        </table>
       }
    </div>
Собственно вопрос: Как можно сделать в моем случае? Возможно ли вывести в один view главную таблицу а при выборе записи вывести связанную таблицу рядом? и Еще вопрос что писать в шапке? Например при выборе ВУЗа наверху выводится название вузу для этого я подключаю прото модел @model WebApplication12.Models.Torgs а чтобы вывести рядом связанную таблицу
в массиве или в List должен подключить @model IEnumerable<WebApplication12.Models.Torg sps>. Но если так сделать компилятор тоже ругается что невозможно подключить более одного @model. Как поступить в этом случае?
Наставьте пожалуйста новичка в путь истинный?))
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.03.2018, 12:17
Ответы с готовыми решениями:

Отображение связанных таблиц БД в View
Извините за примитивный вопрос, я только начал изучать ASP.NET MVC. В Visual Studio создал БД, в которой 2 таблицы: Tasks(TaskId, Title,...

Отображение связанных таблиц
Здравствуйте Не подскажите как такое можно реализовать? Есть 2 таблицы на форме. Они связаны 2 ключом. Получается, выделяешь строку в...

Отображение связанных таблиц
Доброго времени суток всем участникам форума! Позвольте поделиться своей проблемой. Пишу приложение с БД (среда для проведения...

11
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
26.03.2018, 14:56
Лучший ответ Сообщение было отмечено User98 как решение

Решение

Если на странице нужно выводить данные с разных моделей , создайте модель представления , обертку:

HTML5
1
2
3
4
5
6
7
8
9
@model IEnumerable<WebApplication12.Models.TorgsViewModel>
 
public class TorgsViewModel
{
     IEnumerable<WebApplication12.Models.Torgs> torgs;
     IEnumerable<WebApplication12.Models.Torgsps> torgsps;
}
 
@foreach (WebApplication12.Models.Torgsps in Model.torgsps) { ...  }
1
3 / 3 / 0
Регистрация: 02.03.2018
Сообщений: 37
28.03.2018, 09:52
User98, Пробовали так в модели перебирать?
@foreach (var torgspsItem in Model)
0
0 / 0 / 0
Регистрация: 26.03.2018
Сообщений: 10
29.03.2018, 15:07  [ТС]
нет не пробовал, сейчас юзучаю эту тему
0
0 / 0 / 0
Регистрация: 26.03.2018
Сообщений: 10
02.04.2018, 06:33  [ТС]
А если используется не EF а Linq как можно объединить в одну модель?
C#
1
2
3
4
5
6
  
  public class Jmodel
    {
      public IEnumerable<Torgs> torgs{ get; set; }
       public IEnumerable<Torgsps> torgsps{ get; set; }
    }
в представлении
HTML5
1
@model IEnumerable<WebApplication11.Models.Jmodel>
но здесь не выходит столбцы таблицы
HTML5
1
2
3
4
 @foreach (WebApplication12.Models.Jmodel v in Model)
                  {
               @v.torgs.
                  }
0
3 / 3 / 0
Регистрация: 02.03.2018
Сообщений: 37
02.04.2018, 08:15
User98,Иногда глючит студия, и не отображает в Intelisense свойств модели, которая подключена. Закройте окошко редактирования кода, и откройте заново.

И да, неявно типизируйте переменную.Примерно вот так
HTML5
1
@foreach (WebApplication12.Models.Jmodel v in Model)
0
0 / 0 / 0
Регистрация: 26.03.2018
Сообщений: 10
02.04.2018, 08:33  [ТС]
Пробовал перезапустить VS. все ровно, если в объединенной модели указать
C#
1
2
3
4
public class Jmodel
        {
         public Kontingents> kont { get; set; }
            public Jourgrpredmet> jourpr { get; set; }
без IEnumerable тогда все прекрасно, но возникает ошибка что ожидалось тип GetEnumerable
Пробовал вот так
HTML5
1
2
3
4
5
6
@foreach (var k in Model.kont)
{
  <tr>
    <td>@k.FAM @k.IM @k.OTC</td>
  </tr>
}
тоже ошибка, Model.kont подчеркнут красным
0
3 / 3 / 0
Регистрация: 02.03.2018
Сообщений: 37
02.04.2018, 09:12
User98, Приведите полный код контроллера, модели, представления
0
0 / 0 / 0
Регистрация: 26.03.2018
Сообщений: 10
02.04.2018, 09:26  [ТС]
Контроллер
C#
1
2
3
4
5
6
public ActionResult JOpen (string id)
        {
            Session["seljourpredmet"] = dbk.Jourgrpredmet.FirstOrDefault(g => g.PREDMETID == id); 
            var kont = dbkont.Kontingents.Where(g => g.GRUPPA == Session["seljourgr"]).ToList();
            return View(kont);
        }
Модель объединяющий двух моделей
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
 
namespace WebApplication11.Models
{
    public class Jmodel
    {
     public IEnumerable<WebApplication11.Models.Kontingents> kont { get; set; }
        public IEnumerable<WebApplication11.Models.Jourgrpredmet> jourpr { get; set; }
    }
}
Представления:
HTML5
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
@model IEnumerable<WebApplication11.Models.Jmodel>
@{
    ViewBag.Title = "";
    Layout = "~/Views/_tchr.cshtml";
}
 
<!DOCTYPE html>
 
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>@ViewBag.Title</title>
</head>
<body>
    <div> 
        @Session["seljourpredmet"].ToString();
       
        @ViewBag.kuk
        <table class="tablesorter" id="Grd">
            <thead>
                <tr>
                    <th style="font-weight:bold;font-size:12px;">Контингент</th>
                  @foreach (WebApplication11.Models.Jmodel v in Model)
                  {
               @v.jourpr.
                  }
                </tr>
            </thead>
            <tbody>
              @foreach (var k in Model.kont)
                {
                    <tr>
                        <td>@k.kontingent.FAM @k.kontingent.IM @k.kontingent.OTC</td>
                    </tr>
                }
            </tbody>
        </table>
    </div>
</body>
</html>
А самих моделей таблицы Контингент создает Linq автоматический
Кликните здесь для просмотра всего текста
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
//     Этот код создан программой.
//     Исполняемая версия:4.0.30319.42000
//
//     Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
//     повторной генерации кода.
// </auto-generated>
//------------------------------------------------------------------------------
 
namespace WebApplication11.Models
{
    using System.Data.Linq;
    using System.Data.Linq.Mapping;
    using System.Data;
    using System.Collections.Generic;
    using System.Reflection;
    using System.Linq;
    using System.Linq.Expressions;
    using System.ComponentModel;
    using System;
    
    
    [global::System.Data.Linq.Mapping.DatabaseAttribute(Name="LocNODBV2")]
    public partial class KontDataContext : System.Data.Linq.DataContext
    {
        
        private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();
        
    #region Определения метода расширяемости
    partial void OnCreated();
    partial void InsertKontingents(Kontingents instance);
    partial void UpdateKontingents(Kontingents instance);
    partial void DeleteKontingents(Kontingents instance);
    #endregion
        
        public KontDataContext() : 
                base(global::System.Configuration.ConfigurationManager.ConnectionStrings["LocNODBV2ConnectionString"].ConnectionString, mappingSource)
        {
            OnCreated();
        }
        
        public KontDataContext(string connection) : 
                base(connection, mappingSource)
        {
            OnCreated();
        }
        
        public KontDataContext(System.Data.IDbConnection connection) : 
                base(connection, mappingSource)
        {
            OnCreated();
        }
        
        public KontDataContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) : 
                base(connection, mappingSource)
        {
            OnCreated();
        }
        
        public KontDataContext(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) : 
                base(connection, mappingSource)
        {
            OnCreated();
        }
        
        public System.Data.Linq.Table<Kontingents> Kontingents
        {
            get
            {
                return this.GetTable<Kontingents>();
            }
        }
    }
    
    [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Kontingents")]
    public partial class Kontingents : INotifyPropertyChanging, INotifyPropertyChanged
    {
        
        private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
        
        private int _ID;
        
        private string _IIN;
        
        private string _FAM;
        
        private string _IM;
        
        private string _OTC;
        
        private System.Nullable<System.DateTime> _DATAROJ;
        
        private string _POL;
        
        private string _GRAJDANSTVO;
        
        private string _NASIA;
        
        private string _GRUPPA;
        
        private string _SPES;
        
        private string _ORALMAN;
        
        private string _TIPPROJIVANIA;
        
        private string _FORMAOB;
        
        private string _OBUCHDUALKA;
        
        private System.Nullable<int> _SROKOBUCH;
        
        private string _YAZIKOB;
        
        private string _KURS;
        
        private string _PROWELPRAKNAPREDP;
        
        private string _OCENKAUROVNIAPODGOTOVKI;
        
        private string _SERTIFIKATKVALIFIK;
        
        private string _OSTAVLENNAKURS;
        
        private string _OBWESTVENNYIDEATELN;
        
        private string _POSEWAETKRUJKI;
        
        private string _SOSTOITNAUCHETE;
        
        private string _OBWAGA;
        
        private string _PROJIVAETOBWAGA;
        
        private string _STIPENDIASOCPARTNER;
        
        private System.Nullable<decimal> _SUMMASOCPARTNERSTEPENDIA;
        
        private string _MALOOBESPECHEN;
        
        private string _REBENOKSIROTA;
        
        private string _REBENOKBEZRODITEL;
        
        private string _INVALID;
        
        private string _VIDNARUWENII;
        
        private string _PRIBYLA;
        
        private System.Nullable<System.DateTime> _DATAPRIBYTIA;
        
        private string _NOMPRIKAZAPRIBYTIA;
        
        private string _IZCHISLAVNOVPRINIAT;
        
        private string _AKADEMOTPUSK;
        
        private string _PRICHINAVYBITIYA;
        
        private System.Nullable<System.DateTime> _DATAVYBYTIA;
        
        private string _NOMERPRIKAZVYBITIA;
        
        private string _PRINIATNABAZE;
        
        private string _OBUCHENIEZASHET;
        
        private string _NAZNACHENSTEPENDIA;
        
        private System.Nullable<decimal> _SUMMASTIPENDIA;
        
        private string _VIDDIPLOMA;
        
        private string _SERIADIPLOMA;
        
        private string _TRUDOUSTROISTVO;
        
        private string _TRUDOUSTROENPOSPES;
        
        private string _PROWELNEZAVISIMOCENKU;
        
        private string _VYPUSKZANIATITRUDOUST;
        
        private string _DOPSTATUS;
        
        private string _REZIDENT;
        
        private string _SUMMAOBUCHENIA;
        
        private string _ZAPOLNEN;
        
        private string _OXVATGORPIT;
        
        private string _OXVATGORBESPIT;
        
        private string _OXVATBUFPIT;
        
        private string _OXVATGORBUFPIT;
        
        private string _UCHEBPRAK;
        
        private string _PROFPRAK;
        
        private string _PROIZVPRAK;
        
        private string _DIPPRAK;
        
        private string _POSEWAETSEKSII;
        
        private string _PASVHOD;
        
        private string _ADRESOSNOVNOI;
        
        private string _ADRESFAKT;
        
        private string _KURATOR;
        
        private string _KURATORIIN;
        
        private string _STAROSTAIIN;
        
    #region Определения метода расширяемости
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnIDChanging(int value);
    partial void OnIDChanged();
    partial void OnIINChanging(string value);
    partial void OnIINChanged();
    partial void OnFAMChanging(string value);
    partial void OnFAMChanged();
    partial void OnIMChanging(string value);
    partial void OnIMChanged();
    partial void OnOTCChanging(string value);
    partial void OnOTCChanged();
    partial void OnDATAROJChanging(System.Nullable<System.DateTime> value);
    partial void OnDATAROJChanged();
    partial void OnPOLChanging(string value);
    partial void OnPOLChanged();
    partial void OnGRAJDANSTVOChanging(string value);
    partial void OnGRAJDANSTVOChanged();
    partial void OnNASIAChanging(string value);
    partial void OnNASIAChanged();
    partial void OnGRUPPAChanging(string value);
    partial void OnGRUPPAChanged();
    partial void OnSPESChanging(string value);
    partial void OnSPESChanged();
    partial void OnORALMANChanging(string value);
    partial void OnORALMANChanged();
    partial void OnTIPPROJIVANIAChanging(string value);
    partial void OnTIPPROJIVANIAChanged();
    partial void OnFORMAOBChanging(string value);
    partial void OnFORMAOBChanged();
    partial void OnOBUCHDUALKAChanging(string value);
    partial void OnOBUCHDUALKAChanged();
    partial void OnSROKOBUCHChanging(System.Nullable<int> value);
    partial void OnSROKOBUCHChanged();
    partial void OnYAZIKOBChanging(string value);
    partial void OnYAZIKOBChanged();
    partial void OnKURSChanging(string value);
    partial void OnKURSChanged();
    partial void OnPROWELPRAKNAPREDPChanging(string value);
    partial void OnPROWELPRAKNAPREDPChanged();
    partial void OnOCENKAUROVNIAPODGOTOVKIChanging(string value);
    partial void OnOCENKAUROVNIAPODGOTOVKIChanged();
    partial void OnSERTIFIKATKVALIFIKChanging(string value);
    partial void OnSERTIFIKATKVALIFIKChanged();
    partial void OnOSTAVLENNAKURSChanging(string value);
    partial void OnOSTAVLENNAKURSChanged();
    partial void OnOBWESTVENNYIDEATELNChanging(string value);
    partial void OnOBWESTVENNYIDEATELNChanged();
    partial void OnPOSEWAETKRUJKIChanging(string value);
    partial void OnPOSEWAETKRUJKIChanged();
    partial void OnSOSTOITNAUCHETEChanging(string value);
    partial void OnSOSTOITNAUCHETEChanged();
    partial void OnOBWAGAChanging(string value);
    partial void OnOBWAGAChanged();
    partial void OnPROJIVAETOBWAGAChanging(string value);
    partial void OnPROJIVAETOBWAGAChanged();
    partial void OnSTIPENDIASOCPARTNERChanging(string value);
    partial void OnSTIPENDIASOCPARTNERChanged();
    partial void OnSUMMASOCPARTNERSTEPENDIAChanging(System.Nullable<decimal> value);
    partial void OnSUMMASOCPARTNERSTEPENDIAChanged();
    partial void OnMALOOBESPECHENChanging(string value);
    partial void OnMALOOBESPECHENChanged();
    partial void OnREBENOKSIROTAChanging(string value);
    partial void OnREBENOKSIROTAChanged();
    partial void OnREBENOKBEZRODITELChanging(string value);
    partial void OnREBENOKBEZRODITELChanged();
    partial void OnINVALIDChanging(string value);
    partial void OnINVALIDChanged();
    partial void OnVIDNARUWENIIChanging(string value);
    partial void OnVIDNARUWENIIChanged();
    partial void OnPRIBYLAChanging(string value);
    partial void OnPRIBYLAChanged();
    partial void OnDATAPRIBYTIAChanging(System.Nullable<System.DateTime> value);
    partial void OnDATAPRIBYTIAChanged();
    partial void OnNOMPRIKAZAPRIBYTIAChanging(string value);
    partial void OnNOMPRIKAZAPRIBYTIAChanged();
    partial void OnIZCHISLAVNOVPRINIATChanging(string value);
    partial void OnIZCHISLAVNOVPRINIATChanged();
    partial void OnAKADEMOTPUSKChanging(string value);
    partial void OnAKADEMOTPUSKChanged();
    partial void OnPRICHINAVYBITIYAChanging(string value);
    partial void OnPRICHINAVYBITIYAChanged();
    partial void OnDATAVYBYTIAChanging(System.Nullable<System.DateTime> value);
    partial void OnDATAVYBYTIAChanged();
    partial void OnNOMERPRIKAZVYBITIAChanging(string value);
    partial void OnNOMERPRIKAZVYBITIAChanged();
    partial void OnPRINIATNABAZEChanging(string value);
    partial void OnPRINIATNABAZEChanged();
    partial void OnOBUCHENIEZASHETChanging(string value);
    partial void OnOBUCHENIEZASHETChanged();
    partial void OnNAZNACHENSTEPENDIAChanging(string value);
    partial void OnNAZNACHENSTEPENDIAChanged();
    partial void OnSUMMASTIPENDIAChanging(System.Nullable<decimal> value);
    partial void OnSUMMASTIPENDIAChanged();
    partial void OnVIDDIPLOMAChanging(string value);
    partial void OnVIDDIPLOMAChanged();
    partial void OnSERIADIPLOMAChanging(string value);
    partial void OnSERIADIPLOMAChanged();
    partial void OnTRUDOUSTROISTVOChanging(string value);
    partial void OnTRUDOUSTROISTVOChanged();
    partial void OnTRUDOUSTROENPOSPESChanging(string value);
    partial void OnTRUDOUSTROENPOSPESChanged();
    partial void OnPROWELNEZAVISIMOCENKUChanging(string value);
    partial void OnPROWELNEZAVISIMOCENKUChanged();
    partial void OnVYPUSKZANIATITRUDOUSTChanging(string value);
    partial void OnVYPUSKZANIATITRUDOUSTChanged();
    partial void OnDOPSTATUSChanging(string value);
    partial void OnDOPSTATUSChanged();
    partial void OnREZIDENTChanging(string value);
    partial void OnREZIDENTChanged();
    partial void OnSUMMAOBUCHENIAChanging(string value);
    partial void OnSUMMAOBUCHENIAChanged();
    partial void OnZAPOLNENChanging(string value);
    partial void OnZAPOLNENChanged();
    partial void OnOXVATGORPITChanging(string value);
    partial void OnOXVATGORPITChanged();
    partial void OnOXVATGORBESPITChanging(string value);
    partial void OnOXVATGORBESPITChanged();
    partial void OnOXVATBUFPITChanging(string value);
    partial void OnOXVATBUFPITChanged();
    partial void OnOXVATGORBUFPITChanging(string value);
    partial void OnOXVATGORBUFPITChanged();
    partial void OnUCHEBPRAKChanging(string value);
    partial void OnUCHEBPRAKChanged();
    partial void OnPROFPRAKChanging(string value);
    partial void OnPROFPRAKChanged();
    partial void OnPROIZVPRAKChanging(string value);
    partial void OnPROIZVPRAKChanged();
    partial void OnDIPPRAKChanging(string value);
    partial void OnDIPPRAKChanged();
    partial void OnPOSEWAETSEKSIIChanging(string value);
    partial void OnPOSEWAETSEKSIIChanged();
    partial void OnPASVHODChanging(string value);
    partial void OnPASVHODChanged();
    partial void OnADRESOSNOVNOIChanging(string value);
    partial void OnADRESOSNOVNOIChanged();
    partial void OnADRESFAKTChanging(string value);
    partial void OnADRESFAKTChanged();
    partial void OnKURATORChanging(string value);
    partial void OnKURATORChanged();
    partial void OnKURATORIINChanging(string value);
    partial void OnKURATORIINChanged();
    partial void OnSTAROSTAIINChanging(string value);
    partial void OnSTAROSTAIINChanged();
    #endregion
    
        
        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NOMERPRIKAZVYBITIA", DbType="NChar(10)")]
        public string NOMERPRIKAZVYBITIA
        {
            get
            {
                return this._NOMERPRIKAZVYBITIA;
            }
            set
            {
                if ((this._NOMERPRIKAZVYBITIA != value))
                {
                    this.OnNOMERPRIKAZVYBITIAChanging(value);
                    this.SendPropertyChanging();
                    this._NOMERPRIKAZVYBITIA = value;
                    this.SendPropertyChanged("NOMERPRIKAZVYBITIA");
                    this.OnNOMERPRIKAZVYBITIAChanged();
                }
            }
        }
        
        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PRINIATNABAZE", DbType="NChar(10)")]
        public string PRINIATNABAZE
        {
            get
            {
                return this._PRINIATNABAZE;
            }
            set
            {
                if ((this._PRINIATNABAZE != value))
                {
                    this.OnPRINIATNABAZEChanging(value);
                    this.SendPropertyChanging();
                    this._PRINIATNABAZE = value;
                    this.SendPropertyChanged("PRINIATNABAZE");
                    this.OnPRINIATNABAZEChanged();
                }
            }
        }
        
        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OBUCHENIEZASHET", DbType="NVarChar(50)")]
        public string OBUCHENIEZASHET
        {
            get
            {
                return this._OBUCHENIEZASHET;
            }
            set
            {
                if ((this._OBUCHENIEZASHET != value))
                {
                    this.OnOBUCHENIEZASHETChanging(value);
                    this.SendPropertyChanging();
                    this._OBUCHENIEZASHET = value;
                    this.SendPropertyChanged("OBUCHENIEZASHET");
                    this.OnOBUCHENIEZASHETChanged();
                }
            }
        }
        
        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NAZNACHENSTEPENDIA", DbType="NChar(10)")]
        public string NAZNACHENSTEPENDIA
        {
            get
            {
                return this._NAZNACHENSTEPENDIA;
            }
            set
            {
                if ((this._NAZNACHENSTEPENDIA != value))
                {
                    this.OnNAZNACHENSTEPENDIAChanging(value);
                    this.SendPropertyChanging();
                    this._NAZNACHENSTEPENDIA = value;
                    this.SendPropertyChanged("NAZNACHENSTEPENDIA");
                    this.OnNAZNACHENSTEPENDIAChanged();
                }
            }
        }
        
        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SUMMASTIPENDIA", DbType="Money")]
        public System.Nullable<decimal> SUMMASTIPENDIA
        {
            get
            {
                return this._SUMMASTIPENDIA;
            }
            set
            {
                if ((this._SUMMASTIPENDIA != value))
                {
                    this.OnSUMMASTIPENDIAChanging(value);
                    this.SendPropertyChanging();
                    this._SUMMASTIPENDIA = value;
                    this.SendPropertyChanged("SUMMASTIPENDIA");
                    this.OnSUMMASTIPENDIAChanged();
                }
            }
        }
        
        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_VIDDIPLOMA", DbType="NVarChar(15)")]
        public string VIDDIPLOMA
        {
            get
            {
                return this._VIDDIPLOMA;
            }
            set
            {
                if ((this._VIDDIPLOMA != value))
                {
                    this.OnVIDDIPLOMAChanging(value);
                    this.SendPropertyChanging();
                    this._VIDDIPLOMA = value;
                    this.SendPropertyChanged("VIDDIPLOMA");
                    this.OnVIDDIPLOMAChanged();
                }
            }
        }
        
        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SERIADIPLOMA", DbType="NVarChar(25)")]
        public string SERIADIPLOMA
        {
            get
            {
                return this._SERIADIPLOMA;
            }
            set
            {
                if ((this._SERIADIPLOMA != value))
                {
                    this.OnSERIADIPLOMAChanging(value);
                    this.SendPropertyChanging();
                    this._SERIADIPLOMA = value;
                    this.SendPropertyChanged("SERIADIPLOMA");
                    this.OnSERIADIPLOMAChanged();
                }
            }
        }
        
        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TRUDOUSTROISTVO", DbType="NVarChar(50)")]
        public string TRUDOUSTROISTVO
        {
            get
            {
                return this._TRUDOUSTROISTVO;
            }
            set
            {
                if ((this._TRUDOUSTROISTVO != value))
                {
                    this.OnTRUDOUSTROISTVOChanging(value);
                    this.SendPropertyChanging();
                    this._TRUDOUSTROISTVO = value;
                    this.SendPropertyChanged("TRUDOUSTROISTVO");
                    this.OnTRUDOUSTROISTVOChanged();
                }
            }
        }
        
        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TRUDOUSTROENPOSPES", DbType="NChar(10)")]
        public string TRUDOUSTROENPOSPES
        {
            get
            {
                return this._TRUDOUSTROENPOSPES;
            }
            set
            {
                if ((this._TRUDOUSTROENPOSPES != value))
                {
                    this.OnTRUDOUSTROENPOSPESChanging(value);
                    this.SendPropertyChanging();
                    this._TRUDOUSTROENPOSPES = value;
                    this.SendPropertyChanged("TRUDOUSTROENPOSPES");
                    this.OnTRUDOUSTROENPOSPESChanged();
                }
            }
        }
        
        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PROWELNEZAVISIMOCENKU", DbType="NChar(10)")]
        public string PROWELNEZAVISIMOCENKU
        {
            get
            {
                return this._PROWELNEZAVISIMOCENKU;
            }
            set
            {
                if ((this._PROWELNEZAVISIMOCENKU != value))
                {
                    this.OnPROWELNEZAVISIMOCENKUChanging(value);
                    this.SendPropertyChanging();
                    this._PROWELNEZAVISIMOCENKU = value;
                    this.SendPropertyChanged("PROWELNEZAVISIMOCENKU");
                    this.OnPROWELNEZAVISIMOCENKUChanged();
                }
            }
        }
        
        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_VYPUSKZANIATITRUDOUST", DbType="NChar(10)")]
        public string VYPUSKZANIATITRUDOUST
        {
            get
            {
                return this._VYPUSKZANIATITRUDOUST;
            }
            set
            {
                if ((this._VYPUSKZANIATITRUDOUST != value))
                {
                    this.OnVYPUSKZANIATITRUDOUSTChanging(value);
                    this.SendPropertyChanging();
                    this._VYPUSKZANIATITRUDOUST = value;
                    this.SendPropertyChanged("VYPUSKZANIATITRUDOUST");
                    this.OnVYPUSKZANIATITRUDOUSTChanged();
                }
            }
        }
        
        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_DOPSTATUS", DbType="NVarChar(15)")]
        public string DOPSTATUS
        {
            get
            {
                return this._DOPSTATUS;
            }
            set
            {
                if ((this._DOPSTATUS != value))
                {
                    this.OnDOPSTATUSChanging(value);
                    this.SendPropertyChanging();
                    this._DOPSTATUS = value;
                    this.SendPropertyChanged("DOPSTATUS");
                    this.OnDOPSTATUSChanged();
                }
            }
        }
        
        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_REZIDENT", DbType="NVarChar(3)")]
        public string REZIDENT
        {
            get
            {
                return this._REZIDENT;
            }
            set
            {
                if ((this._REZIDENT != value))
                {
                    this.OnREZIDENTChanging(value);
                    this.SendPropertyChanging();
                    this._REZIDENT = value;
                    this.SendPropertyChanged("REZIDENT");
                    this.OnREZIDENTChanged();
                }
            }
        }
        
        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SUMMAOBUCHENIA", DbType="NVarChar(10)")]
        public string SUMMAOBUCHENIA
        {
            get
            {
                return this._SUMMAOBUCHENIA;
            }
            set
            {
                if ((this._SUMMAOBUCHENIA != value))
                {
                    this.OnSUMMAOBUCHENIAChanging(value);
                    this.SendPropertyChanging();
                    this._SUMMAOBUCHENIA = value;
                    this.SendPropertyChanged("SUMMAOBUCHENIA");
                    this.OnSUMMAOBUCHENIAChanged();
                }
            }
        }
        
        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ZAPOLNEN", DbType="NVarChar(50)")]
        public string ZAPOLNEN
        {
            get
            {
                return this._ZAPOLNEN;
            }
            set
            {
                if ((this._ZAPOLNEN != value))
                {
                    this.OnZAPOLNENChanging(value);
                    this.SendPropertyChanging();
                    this._ZAPOLNEN = value;
                    this.SendPropertyChanged("ZAPOLNEN");
                    this.OnZAPOLNENChanged();
                }
            }
        }
        
        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OXVATGORPIT", DbType="NVarChar(3)")]
        public string OXVATGORPIT
        {
            get
            {
                return this._OXVATGORPIT;
            }
            set
            {
                if ((this._OXVATGORPIT != value))
                {
                    this.OnOXVATGORPITChanging(value);
                    this.SendPropertyChanging();
                    this._OXVATGORPIT = value;
                    this.SendPropertyChanged("OXVATGORPIT");
                    this.OnOXVATGORPITChanged();
                }
            }
        }
 
        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_KURATORIIN", DbType="NVarChar(12)")]
        public string KURATORIIN
        {
            get
            {
                return this._KURATORIIN;
            }
            set
            {
                if ((this._KURATORIIN != value))
                {
                    this.OnKURATORIINChanging(value);
                    this.SendPropertyChanging();
                    this._KURATORIIN = value;
                    this.SendPropertyChanged("KURATORIIN");
                    this.OnKURATORIINChanged();
                }
            }
        }
        
        [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_STAROSTAIIN", DbType="NVarChar(12)")]
        public string STAROSTAIIN
        {
            get
            {
                return this._STAROSTAIIN;
            }
            set
            {
                if ((this._STAROSTAIIN != value))
                {
                    this.OnSTAROSTAIINChanging(value);
                    this.SendPropertyChanging();
                    this._STAROSTAIIN = value;
                    this.SendPropertyChanged("STAROSTAIIN");
                    this.OnSTAROSTAIINChanged();
                }
            }
        }
        
        public event PropertyChangingEventHandler PropertyChanging;
        
        public event PropertyChangedEventHandler PropertyChanged;
        
        protected virtual void SendPropertyChanging()
        {
            if ((this.PropertyChanging != null))
            {
                this.PropertyChanging(this, emptyChangingEventArgs);
            }
        }
        
        protected virtual void SendPropertyChanged(String propertyName)
        {
            if ((this.PropertyChanged != null))
            {
                this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }
    }
}
#pragma warning restore 1591

То есть хочу сделать журнал вот такой
и чтобы например когда пользователь нажимает на ячейку выводится Edit и вводит туда "Да"/"Нет". Но до этого я полагаю еще далеко. я еще не могу отобразить контингента из таблицы "контингент" и список предметов из таблицы jourgrpredmet
0
3 / 3 / 0
Регистрация: 02.03.2018
Сообщений: 37
02.04.2018, 09:31
User98,
Цитата Сообщение от User98 Посмотреть сообщение
return View(kont);
Вот здесь вы должны вернуть обьект типа
Цитата Сообщение от User98 Посмотреть сообщение
WebApplication11.Models.Jmodel
0
0 / 0 / 0
Регистрация: 26.03.2018
Сообщений: 10
02.04.2018, 09:37  [ТС]
можете пример привести? Только начинаю изучать MVC, до того работал с webforms. Не скажу что на отлично, но калькуляторы делал)
0
3 / 3 / 0
Регистрация: 02.03.2018
Сообщений: 37
02.04.2018, 09:54
User98, Смотрите, вы пытаетесь в модели получить обьект типа
Цитата Сообщение от User98 Посмотреть сообщение
WebApplication11.Models.Jmodel
Для этого вы методом действия контроллера должны вернуть такой обьект.
Цитата Сообщение от User98 Посмотреть сообщение
public ActionResult JOpen (string id)
{
Session["seljourpredmet"] = dbk.Jourgrpredmet.FirstOrDefault(g => g.PREDMETID == id);
var kont = dbkont.Kontingents.Where(g => g.GRUPPA == Session["seljourgr"]).ToList();
return View(kont);
}
т.е. у вас должно быть что-то похожее на это
C#
1
2
3
4
5
6
7
8
9
public ActionResult JOpen (string id)
{
Session["seljourpredmet"] = dbk.Jourgrpredmet.FirstOrDefault(g => g.PREDMETID == id); 
var kont = dbkont.Kontingents.Where(g => g.GRUPPA == Session["seljourgr"]).ToList();
WebApplication11.Models.Jmodel Jmodel = new WebApplication11.Models.Jmodel();
Jmodel.kont = kont;
Jmodel.jourpr = //тут присваиваете некую коллекцию jourpr 
return View(Jmodel);
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.04.2018, 09:54
Помогаю со студенческими работами здесь

Отображение полей связанных таблиц
Здравствуйте. Существуют таблицы: Товары, тип товара, категория. &quot;Тип товара&quot; связанны с &quot;категорией&quot;, а &quot;товары&quot; с...

Запрос на отображение связанных таблиц
Добрый день. Проблема с отображением связанных таблиц. Имеется БД access с 5 таблицами. Схема данных В один dataGridView надо...

Отображение на форме данных из двух связанных таблиц
Приветствую всех! Решил сделать БД по парку имеющегося на предприятии оборудования и столкнулся со следующей проблемой. Имеется таблица...

Отображение данных в DataGridView из связанных таблиц Access
Привет Всем! Есть база на Acсess из двух таблиц. Товары(код товара, группа товара, наименование) и группа товаров(код группы, название)....

WPF, DataGrid, Entity Framework - отображение и редактирование связанных таблиц
Привет! Использую существующую БД MS SQL. На ее основе создаю модель EF. На форме MainWindow лежит DataGrid. Необходимо отобразить в нем...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru