
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>

Sergey
22.11.2016
15:24:56

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

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

Geldi
22.11.2016
15:29:34

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

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
Поэтому модель и нулевая

Geldi
22.11.2016
15:39:04

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
Ой.. я чет перепутал
сорян
я про последний имел ввилу

Geldi
22.11.2016
15:57:29

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

Андрей
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
Каких программ
Эта группа больше не существует