@CSharpChatЭта группа больше не существует

Страница 140 из 1888
Geldi
22.11.2016
15:17:54
Запись if (user != null) { user.About = man.About; user.FirstName = man.FirstName; user.LastName = man.LastName; user.PhoneNumber = man.PhoneNumber; user.subjectskills = string.Join("," ,user.subjectskills); context.SaveChanges(); }

Вывод return View(new IndexViewModel { About = user.About, FirstName = user.FirstName, LastName = user.LastName, PhoneNumber = user.PhoneNumber, FileName = user.FileName, subjectskills = (user.subjectskills + "").Split(new char[] {','}, StringSplitOptions.RemoveEmptyEntries), });

View <option value="@item.Id" @(Model.subjectskills != null && Model.subjectskills.Contains(item.Id) ? "selected='selected'" : "")>@item.Text</option>

Google
Geldi
22.11.2016
15:25:10
Отдельную таблицу?

Sergey
22.11.2016
15:25:43
Да, чому бы и нет?

Geldi
22.11.2016
15:26:15
Просто я уже все реализовал, только Model.subjectskills в точке остановке показывает NULL

как решить?

Да, чому бы и нет?
Я хотел так, но скилла не хватило))

Sergey
22.11.2016
15:27:10
Я хотел так, но скилла не хватило))
одну сделал, а вторую уже никак?

Geldi
22.11.2016
15:27:17
Значит нужно будет наследие классов?

Sergey
22.11.2016
15:27:25
Значит нужно будет наследие классов?
нет, две связанные таблицы

даже три, тут же многие-ко-многим

Geldi
22.11.2016
15:28:21
нул в модели или в subjectskills
в Модели показывает Null

Sergey
22.11.2016
15:29:04
"return View" один раз или много в методе?

Google
Sergey
22.11.2016
15:29:39
какая модель во вьюхе ожидается?

Geldi
22.11.2016
15:30:12
IndexViewModel

Sergey
22.11.2016
15:34:57
вьюху Post возвращает?

Geldi
22.11.2016
15:36:39
FormMethod.Post,

Gid
22.11.2016
15:36:45
Sergey
22.11.2016
15:37:14
FormMethod.Post,
А, ну ясно

Geldi
22.11.2016
15:37:46
А, ну ясно
Model.subjectskills != null && Model.subjectskills.Contains(item.Id) Вот это модель.. в точке остановке Model.subjectskills показывает NUKK

Sergey
22.11.2016
15:38:02
По еф - две
В дб три таблы будет

Gid
22.11.2016
15:38:18
Да

третья автогенерится

)

Sergey
22.11.2016
15:38:31
Поэтому модель и нулевая

Sergey
22.11.2016
15:39:41
А что должно отображается?

Geldi
22.11.2016
15:40:39
Смотрите, я выбираю скилы Selectoм, Multiselectom выбрал сохраняю данные, в БД они запичываются, когда нажимают Сохранить Ошибка

Нужно проект перекомпилить, затем все нормально грузит

При сохранение Модель Null

Sergey
22.11.2016
15:42:21
Объяснил как боженька

Google
Geldi
22.11.2016
15:42:46
Я в этом хорош??

Короче говоря, выюираю значения в select, нажимаю сохранить, данные в БД есть, при обновление странице после Сохранения Ошибка

Модель NULL

Sergey
22.11.2016
15:52:55
Тогда похоже у тебя в гете есть return View(new IndexViewModel .... ) а в посте просто какойнить return View()

Geldi
22.11.2016
15:54:12
В обоих случаях return View();

Ну в выводе public ActionResult ManageAccount()

public ActionResult ManageAccount(IndexViewModel man) запись

Sergey
22.11.2016
15:56:14
ты писал

а счас гришь тока return View();

Geldi
22.11.2016
15:56:44
Ой.. я чет перепутал

сорян

я про последний имел ввилу

Sergey
22.11.2016
15:58:48
Ну и как ты думаешь, если ты возвращаешь return View( /тоесть нулл/ ); вместо return View(объект типа IndexViewModel); то вьюха не будет нулл?

Андрей
22.11.2016
15:58:50
и тоже разделение скиллов очень логично и органично смотрится в логике маппера

Sergey
22.11.2016
16:00:08
Если есть такой код, советую юзать Automapper или лучше Expressmapper кстати
Зачем ему маппер, если он плохо разбирается в азах? Пусть научится, а потом сахарком балуется

Андрей
22.11.2016
16:00:46
тоже верно, это так между прочим. Если он активно юзает вью модели ему скорее всего будет интересно почитать.

Geldi
22.11.2016
16:02:29
Sergey
22.11.2016
16:03:46
Естественно, ты же отображаешь измененного пользователя потом?

Google
Geldi
22.11.2016
16:04:23
но ведь и так есть return View(new IndexViewModel { About = user.About, FirstName = user.FirstName, LastName = user.LastName, PhoneNumber = user.PhoneNumber, FileName = user.FileName, subjectskills = (user.subjectskills + "").Split(new char[] {','}, StringSplitOptions.RemoveEmptyEntries), });

толкьо затем return View();

Sergey
22.11.2016
16:05:07
Я устал ванговать по обрывкам кода

Geldi
22.11.2016
16:05:32
var context = new ApplicationDbContext(); var id = User.Identity.GetUserId(); var user = context.Users.FirstOrDefault(p => p.Id == id); if (user != null) { return View(new IndexViewModel { About = user.About, FirstName = user.FirstName, LastName = user.LastName, PhoneNumber = user.PhoneNumber, FileName = user.FileName, subjectskills = (user.subjectskills + "").Split(new char[] {','}, StringSplitOptions.RemoveEmptyEntries), }); } return View();

Admin
ERROR: S client not available

Sergey
22.11.2016
16:07:11
Давай научимся дебажить

И посмотрим что происходит

Ставь брейкпойнт в начале метода и понеслась

Geldi
22.11.2016
16:08:55
Ставь брейкпойнт в начале метода и понеслась
В этом случае все данные успешно отображаются

subjectskills - все записи сохранил

При первой загрухке все нормально отображается))

Следующие брейкпоинты при записи в БД, запись удалена...

Sergey
22.11.2016
16:11:41
ну вот видишь, он у тебя не находит юзера и срабатывает return View();

Geldi
22.11.2016
16:12:29
Так, ну сейчас покапаюсь.. Спасибо за терпение))

Sergey
22.11.2016
16:12:38
ты там каждый раз базу чтоли чистишь?

Geldi
22.11.2016
16:13:02
ты там каждый раз базу чтоли чистишь?
Нет, просто захожу и смотрю)) Изменение профиля идет

Sergey
22.11.2016
16:13:21
физически в базе?

Geldi
22.11.2016
16:18:15
Sergey
22.11.2016
16:25:04
Смотри как ты инициализируешь базу или может где случайно затираешь пользователя

Google
Geldi
22.11.2016
16:35:09
Спасибо за совет!

Alex
22.11.2016
18:26:05
Привет еще раз. Тут черновик для тз подъехал

Прежде всего Питер (или возможность там появляться) Есть небольшой проект, дедлайн до НГ, наклепать пару формочек для планшета на вин10, привязать к вебманям (апи есть) и принтеру. Платят 50-80, в зависимости от сроков и косячности. Хорошее начало (или продолжение) портфолио. Примерное ТЗ завтра должно быть.

Будет оформлен договор. Можно договориться на частичную предоплату. Если кого интересует, стучите в ЛС

Sergey
22.11.2016
18:33:01
Ребят. Мне нужно считывать страницу http://.../2012.php http://.../2013.php И т.д. пока не будет ошибки 404. Читаю через WebClient.DownoladString() Есть что-нибудь интереснее, чем while с кетчем, который останавливает цикл?

Страницы*

Типа не знаю какой-нибудь условный TryDownloadString, хз(

Sergey
22.11.2016
18:48:06
static async void dotest(string url) { using (HttpClient client = new HttpClient()) { HttpResponseMessage response = await client.GetAsync(url); if (response.IsSuccessStatusCode) { Console.WriteLine(response.StatusCode.ToString()); } else { // problems handling here Console.WriteLine( "Error occurred, the status code is: {0}", response.StatusCode ); } } }

Чот оплата для питера с ТЗ не оч коррелирует вроде

Sergey
22.11.2016
18:52:12
Спасибо! Чет я не на науглил. Боюсь асинхронных методов и не смотрел на код видимо

Sergey
22.11.2016
18:55:22
Однопоточный кроулер так себе идея

Oleg
22.11.2016
19:26:56
Однопоточный кроулер так себе идея
вообще говоря то что ты скинул не сильно от однопоточного отличается ?

Max
22.11.2016
19:54:25
мб кто подскажет есть ли в паблике шаблоны программ? что бы можно было подключить свою библиотеку и работать

типа того)

Gid
22.11.2016
19:56:22
Каких программ

Страница 140 из 1888

Эта группа больше не существует Эта группа больше не существует