Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/95: Рейтинг темы: голосов - 95, средняя оценка - 5.00
 Аватар для Сергей 83
98 / 96 / 15
Регистрация: 28.03.2011
Сообщений: 565

Для новичков в ASP.NET MVC3 (C#)

25.02.2012, 12:57. Показов 21050. Ответов 121
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Научился делать простенькие сайты на платформе MVC 3, с базой данных MS SQL Server 2008.
также немного использовал редактирование Html, CSS, добавление javaScrips.
Обучение мое проходит не без помощи форумов, поэтому решил отдать дань общественности.
Поэтому, товарищи новички, если есть вопросы в рамках и уровня нижеуказанных приложений - задавайте!

Пример приложений: ссылка удалена
 Комментарий модератора 
Запрещено размещать темы для оценки сайтов (форумов) со ссылками на оцениваемый сайт. Для оценки прикрепляйте скриншот сайта.(п.5.15)
1
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.02.2012, 12:57
Ответы с готовыми решениями:

Использование xml файлов для хранения данных в проектах asp.net mvc3
Всем привет, нужно сохранять данные модели не в базе даных а в xml файле, может ктото пробовал подобное - подскажыте как ето правильно...

Не срабатывают атрибуты валидации в EF DB First ASP.NET MVC3
Для валидации полей из класса, сгенерированного мне EF, создаю класс class ProductMetadata { public int...

Есть ли в MVC3 конструктор как в ASP.NET
Есть ли в MVC3(4) конструктор, как в ASP.NET? Чтобы можно было параллельно просматривать изменения на самой страничке, помещать на нее...

121
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
29.04.2013, 13:24
Студворк — интернет-сервис помощи студентам
а еще, объясните пожалуйста вот такую вещь:
C#
1
2
3
4
5
6
7
8
9
10
11
12
public class Track
    {
        public int TrackId { get; set; }
 
        public string Title { get; set; }       
                  
        //public string TrackUrl { get; set; }
 
        public int ArtistId { get; set; }
 
        public Artist Artist { get; set; }
    }
свойство ArtistId понятно для чего, что бы хранить идентификатор артиста.
C#
1
  public Artist Artist { get; set; }
а для чего это?

Когда я довляю трэк, то пишу так:
C#
1
2
Track track = new Track { Artist = db.Artists.Single(a => a.Name == _Artist), Title = _Title };
                db.Tracks.Add(track);
Заранее спс.
Ну а в базе данных, свойства Artist Artist вообще нету, есть только ArtistId. Как это понять. Шпульните ссылку, где можно почитать.
Миниатюры
Для новичков в ASP.NET MVC3 (C#)  
0
9 / 9 / 3
Регистрация: 23.02.2013
Сообщений: 51
29.04.2013, 17:06
some_name, я у вас об этом спрашивал в первом ответе вам))) мне тоже интересно, зачем это здесь))

Сергей 83, спасибо, я тоже посмотрю SQLClient

Добавлено через 1 минуту
По идее, в базу это вообще занестись не может, так как это свойство - объект класса Artist, у которого свое количество полей. Насколько я понимаю.
А вы работали с конструкторами классов? Просто если написать конструктор, то можно запись:
C#
1
Track track = new Track { Artist = db.Artists.Single(a => a.Name == _Artist), Title = _Title };
преобразовать в:
C#
1
Track track = new Track(db, _Artist, _Title)
а все остальное сделать в конструкторе. Но это так, к слову...
0
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
29.04.2013, 22:48
Но ведь здесь
Цитата Сообщение от Betankor Посмотреть сообщение
Track track = new Track { Artist = db.Artists.Single(a => a.Name == _Artist), Title = _Title };
мы инициализируем свойство Artist, а в базу пишится ArtistId, почему так происходит.

Ах да по поводу
Цитата Сообщение от Betankor Посмотреть сообщение
зачем это здесь))
, чесное слово, пересмотрел много примеров, и во всех при реализации связи 1-оо имеется такое свойство. Вот пример от сюда http://metanit.com/sharp/mvc/5.6.php

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class Player
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int Age { get; set; }
        public string Position { get; set; }
 
        public int TeamId { get; set; }
        public Team Team { get; set; }
    }
 
    public class Team
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Coach { get; set; }
 
        public IEnumerable<Player> Players { get; set; }
    }
Правильно ли я понимаю, что в это свойство записывается объект Artist, ассоциированный с данным треком?

Добавлено через 15 минут
А вот мои модели:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Track
    {
        public int TrackId { get; set; }
 
        public string Title { get; set; }       
                  
        public string TrackUrl { get; set; }
 
        public int ArtistId { get; set; }
 
        public Artist Artist { get; set; }
    }     
 
 public class Artist
    {
        public int ArtistId { get; set; }
        public string Name { get; set; }
 
        public ICollection<Track> Tracks { get; set; }
    }
Взываю к общественности!!! Уважаемые форумчане, шпульните ссылочку, где можно почитать тщательный разбор работы CF с БД. Расскажите как вы изучали MVC3. Что читали. Очень много примеров, но все не то. Из раза в раз одно и тоже.

Заранее спс!!!!

Добавлено через 6 минут
Betankor, вы писали, что для заполнения таблиц "Artists" и "Tracks" стоит создать две формы. Дело в том, что всю,

нужную мне информацию я считываю из тегов. Пользователь указывает только mp3 файл, котоый хочет загрузить.
0
9 / 9 / 3
Регистрация: 23.02.2013
Сообщений: 51
01.05.2013, 09:13
some_name,
мы инициализируем свойство Artist, а в базу пишится ArtistId, почему так происходит.
мне кажется, что записывается ArtistId потому, что это единственное свойство, которое совпадает у трека и артиста. В общем, надо эксперимент поставить. Сделать также, но в начале сделать одно поле соответствующим, затем два, три и т.д. тогда станет понятнее. О результатах отпишусь.

Добавлено через 4 минуты
То есть смысл в том, что мы тупо вытаскиваем нужный объект из одной таблицы (в данном случае это Artist с нужным Name), а затем записываем все в другую таблицу и все совпадающие по названию свойства автоматом записываются в эту другую таблицу, и не надо каждое совпадающее свойство отдельно инициализировать.
Не знаю, понятно ли написал...
0
 Аватар для Сергей 83
98 / 96 / 15
Регистрация: 28.03.2011
Сообщений: 565
01.05.2013, 11:44  [ТС]
Цитата Сообщение от some_name Посмотреть сообщение
почитать тщательный разбор работы CF с БД.
Ребята, не могу понять вашу проблему. Зачем именно Code First? Чем не подходит подход - создать базу, таблицы в ней, создать Entity Model в проекте и, создав объект этой модели (класса), работать с базой - add/edit/delete records... Для фильтрации и сортировки использовать Linq. Много серьезных программистов используют Linq. Чем он вам тут не по душе? Не создавайте сложных архитектур пока не понимаете происходящего.
0
9 / 9 / 3
Регистрация: 23.02.2013
Сообщений: 51
01.05.2013, 12:06
Сергей 83, я и использую LINQ, мне все нравится и все устраивает)) а CodeFirst не всегда адекватно типы данных указывает, поэтому можно и вручную создать базу и таблицы. Но надо же постепенно разбираться, вот и экспериментируем.
0
 Аватар для Сергей 83
98 / 96 / 15
Регистрация: 28.03.2011
Сообщений: 565
01.05.2013, 14:17  [ТС]
Если устраивает, сформулируй задачу, и попробуем ее тут решить. не создавайте куча кода хаотично, а потом задаете вопросы: что теперь с этим делать. давай с нуля напишем.
1
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
02.05.2013, 20:01
Цитата Сообщение от Сергей 83 Посмотреть сообщение
сформулируй задачу, и попробуем ее тут решить
Хорошо.

Опять таки вопрос возник.

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

Ищ еще вопросик, как сделать что бы имя создаваемой таблицы, было во мн. числе, т.е. NameTable + -s

Заранее спс!!!
0
 Аватар для Сергей 83
98 / 96 / 15
Регистрация: 28.03.2011
Сообщений: 565
02.05.2013, 23:23  [ТС]
это опять пошли вопросы по Code First. Я ж говорю, таблицы в базе, связи между полями таблиц - это делается руками в SQL Managment Studio. а уже потом используем нашу базу с помощью SQLClient или Entity Fraemwork. Если по каким-то убеждениям все же хочется Code First, то ничем помочь не могу.
0
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
02.05.2013, 23:57
Цитата Сообщение от Сергей 83 Посмотреть сообщение
все же хочется Code First,
очень хочется))
Миниатюры
Для новичков в ASP.NET MVC3 (C#)  
0
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
02.05.2013, 23:58
блин, рисунок не в нету совсем, сорри
0
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
03.05.2013, 12:26
Уважаемые, опять таки нужна помощь.

Имеется, к примеру, следующая модель данных. Как осуществить запись данных, что бы они во всех таблицах были

уникальными. Я когда пытаюсь записать данные в одну таблицу, необходимо использовать данные из другой, ту в свою

очередь не получается заполнить без третьей и т.д. и т.п. Подскажите, как правильно нужно осуществлять запись.


Заранее спс! Извините что мучаю вопросами)
Миниатюры
Для новичков в ASP.NET MVC3 (C#)  
0
9 / 9 / 3
Регистрация: 23.02.2013
Сообщений: 51
03.05.2013, 16:23
Цитата Сообщение от some_name Посмотреть сообщение
Но ведь здесь
Сообщение от Betankor
Track track = new Track { Artist = db.Artists.Single(a => a.Name == _Artist), Title = _Title };
мы инициализируем свойство Artist, а в базу пишится ArtistId, почему так происходит.
В общем, это называет навигационным свойством. Точнее это называется навигационным свойством: public Artist Artist { get; set; }
Суть в том, при инициализации этого свойства вам не надо вручную помещать значение в ArtistId вашего трека. Достаточно инициализировать свойство, и если у класса Track есть свойство, имя которого "равно": [имя навигационного свойства] + [имя первичного ключа связанной таблицы] - то есть в нашем случае Artist + id, то нужный ArtistId запишется в таблицу Track автоматом.

Вообще, я хочу разобраться, можно ли сделать так, чтобы записывалось не только значение с id - то есть "родительский" ключ, а любое нужное поле. К примеру, инициализировали свойство Artist у трека, и все нужные Track-у данные из нужного Artist поместились в таблицу автоматически, как ArtistId. Пару примеров видел с использованием Include(), но разобраться мне пока не удалось

Добавлено через 5 минут
Ищ еще вопросик, как сделать что бы имя создаваемой таблицы, было во мн. числе, т.е. NameTable + -s
Почитайте пример тут:
http://blogs.msdn.com/b/vyunev... t-mvc.aspx
Особенно про плюрализацию, участок кода:
C#
1
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
1
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
03.05.2013, 20:46
Народ, помогите умоляю.
Введение ограничения внешнего ключа (FOREIGN KEY) "FK_dbo.Albums_dbo.Tracks_TrackId" для таблицы "Albums" может привести к появлению циклов или множественных каскадных путей. Укажите ON DELETE NO ACTION или ON UPDATE NO ACTION либо измените другие ограничения внешнего ключа (FOREIGN KEY).
Нельзя создать ограничение. См. предыдущие ошибки.

Вот это мессаг выскакивает, когда я запускаю проект и начинает создаваться моя база данных.
Я в нете наткулся на такую мысль, что мол нельзя создавать больше одной связи на таблицу. Правда ли это? Если до то как это можно обойти? Помогите плз. Вот мои модели:
Миниатюры
Для новичков в ASP.NET MVC3 (C#)  
0
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
05.05.2013, 00:41
И снова я))) Народ, я извиняюсь, что задаю столько вопросов. Просто ум пытливый)
Ладно, лирика все это.

Вопрос собственно такой, как изменить размер запроса, а то у меня мелкие мп3 файлы грузятся а вот большие не хотят.

На Хабре читал статью, там пишит, что в web.config есть спец поле. А у меня его нету.


Заранее спс.
0
9 / 9 / 3
Регистрация: 23.02.2013
Сообщений: 51
07.05.2013, 11:12
Всем привет. Подскажите пожалуйста по ситуации. В общем, есть шахматная фигура. К примеру ладья. У нее есть текущие координаты на доске, к примеру X = 4, Y = 5
Исходя из этого нужно сформировать массив возможных позиций для хода, то есть выглядеть должно так:
{4.1}{4.2}{4.3}{4.4}{4.6}{4.7}{4.8} и {1.5}{2.5}{3.5}{5.5}{6.5}{7.5}{8.5}

Подскажите пожалуйста, чем воспользоваться? Каким именно массивом/коллекцией/словарем?
По идее мне надо записать перечень, в каждом элементе которого 2 значения. Два массива записывать не очень хочется.
Спасибо.

Добавлено через 31 минуту
И еще, оцените пожалуйста тестовую задачу. Простая она или сложная на ваш взгляд. Задача:

Вам на вход дано положение фигур на шахматной доске, причем известны следующие
факты:
1. На доске нет пешек.
2. На доске ровно один белый король и ровно один черный король.
3. Белый король уже делал ходы, а черный король находится не под боем.
4. Сейчас ход белых.
Требуется определить белым пат, мат, шах или ничего из перечисленного.

Добавлено через 25 секунд
Исходные данные читаются с консоли.
Текущая позиция задана 64 символами, разделенными пробелом или переносом строки:
‘.’ означает пустую клетку, ‘N’ — коня, ‘B’ — слона, ‘R’ — ладью, ‘Q’ — ферзя, ‘K’
— короля. Большие буквы обозначают фигуры белых, а маленькие — фигуры черных.

Добавлено через 1 минуту
В частности, интересует решение через web-интерфейс - MVC 3.
0
9 / 9 / 3
Регистрация: 23.02.2013
Сообщений: 51
22.05.2013, 21:11
Хотел бы добавить про задачу с шахматами. В общем, почти написал. Сейчас фигуры выстраиваются по заданным координатам, вычисляются возможные координаты ходов для выставленных фигур в зависимости от положения. Далее вычисляется игровая ситуация для черного короля: шах, мат, пат или обычный ход. Пока что не проработал преграды - то есть если на пути ладьи к королю стоит своя фигура, то ладья не делает королю шах. Но скоро доделаю. Кому интересно, спрашивайте, отличное упражнение для мозгов (конечно, если не лезть сразу в инет и смотреть, как все уже реализовано))))
0
9 / 9 / 3
Регистрация: 23.02.2013
Сообщений: 51
24.05.2013, 20:38
Все, решил задачу. Полностью игровая ситуация учитывается и определяется исход для черного короля.
Еще, подскажите плиз, можно ли как-то задать свойство, которое может принимать лишь определенные значения? То есть как в математике к примеру x принадлежит сегменту [1; 8]? и т.д.
Спасибо.
0
 Аватар для grazyboj
4 / 4 / 0
Регистрация: 17.09.2012
Сообщений: 47
10.06.2013, 18:43
Здравствуйте.
Сергей 83 скажите как проходили обучение, по каким книгам и сколько времени? С# знаю на уровне синтаксиса, практики почти нет. небольшие знания html и css. читаю книгу Макдональда для профи, и кажеться сложновато для меня. спасибо
0
 Аватар для Акмаль Салихов
1 / 1 / 1
Регистрация: 19.06.2012
Сообщений: 87
11.06.2013, 10:56
Здравствуйте! Нужна помощь.

У меня задача - принять данные, пришедшие через GET из сайта (форма ввода) и записать их в базу с помощью LINQ to SQL.
Где какие методы должны работать, чтобы всё соответствовало MVC-принципам?
Мои догадки:

1. Класс, описывающий модель данных, (где каждому столбцу в базе будет соответствовать свойство) в Models
1. Контроллер в Controllers, который будет создавать объект этого класса и записывать в базу. В классе контроллера будет объявление нового объекта и метод, в котором будут инструкции LINQ

...

Корректна ли будет такая модель? Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.06.2013, 10:56

asp.net для новичков
Доброго времени суток! У меня такой вопрос, что можете посоветовать почитать для ознакомления с АСП.НЕТ 4.0 для новичков? интернет...

Учебник по ASP для новичков
Ребята помогите! Я решил заняться АСП, но никак не могу достать учебник для новичка (полного ламера в этой сфере)! Если у кого-то есть...

При создании проекта ASP.NET Aplicetion выскакивает сообщение Web server is not running ASP/NET version 1.1
При создании проекта ASP.NET Aplicetion выскакивает сообщение Web server is not running ASP/NET version 1.1 хотя все запущено,...

Client ASP.NET MVC + Angular и Server side ASP.NET WEB.API
Доброго времени суток! Не первый день бьюсь над задачей, не могу понять в чем причина. Хочу создать почти HelloWorld решение, для...

ASP.NET MVC 4,ASP.NET MVC 4.5 и ASP.NET MVC 5 большая ли разница между ними?
Начал во всю осваивать технологию,теперь хочу с книжкой посидеть и вдумчиво перебрать всё то что увидел,услышал и набил...в общем какую...


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

Или воспользуйтесь поиском по форуму:
120
Ответ Создать тему
Новые блоги и статьи
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru