• Как сделать динамический запрос через Ajax передав данные кликнув на 1 блок и получить их из базы данных в другом блоке?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    $.ajax({
       url: 'YourUrl',
       method: 'post',
       data: JSON.stringify(' Вытянуть id (ССылку кинул ниже)'),
       dataType: 'json',
       success: (response) => {
          *Тут обращаемся к нужному элементы и вытягиваем из response данные в виде Json*
       }
    });


    Как вытянуть id элемента
    Ответ написан
    Комментировать
  • Почему JS скрипт срабатывает только со 2го - 3го раза?

    NikFaraday
    @NikFaraday Автор вопроса
    Student full-stack Developer
    Разобрался сам, вот решение:

    Проблема заключалась в том, что я пишу бэк-часть на asp.net. На разметке видно, что у меня кнопка для отправки данных на сервер имеет тип submit. Данный тип кнопки составит вам проблему, если вы захотите реализовать передачу данных через ajax в асинхронном режиме.

    Далее объясню решение в том аспекте, как её понимаю я.
    Кнопка типа submit сама по себе пытается отправить форму на сервер параллельно запуская ajax скрипт, а так же перегружается страницу. При перегрузке страницы, почему-то полностью пропадает блок success (Есть несколько причин на это), но блок error почему-то остаётся и потом ловит ответ от сервера (Если такой есть). Если же ответ от сервера будет, допустим, статус-код 200, то блока success нет и, логично, нечему просто перехватывать соответствующий ответ.

    Решение проблемы заключается в том, что бы просто поменять тип кнопки с submit на button и повешать на кнопку событие ajax.
    Ответ написан
    Комментировать
  • Как отправить данные с помощью ajax в приложение на asp .net core?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Может немного запоздал с ответом, судя по дате вопроса, но может это поможет новым молодым разработчикам)

    1) Экшен (Метод контроллера с возвращаемым значение IActionResult) должен иметь атрибут IgnoryAntiforgetyToken ОБЯЗАТЕЛЬНО, если вы не генерируете его самостоятельно.
    2) ajax запрос должен передавать json данный, если вы указываете тип передачи данных json соответственно. Для этого, перед ajax запросом, пропишите что-то типа let jsonData = JSON.stringify("something").
    3) Самое главное, url нужно указывать вот так: '@Url.Action("ActionName", "ControllerName")'
    4) Методы success и error, если вы пишете там function(response), то вот этот response это локальная переменная, которая показывает сам ответ от сервера. Для получения каких-то данных от сервера, нужно прямо обращаться к той переменной, которую вы передаёте через Json, для примера, если возврат имеет вот такой вид

    return Json(new { message = "some message" } ):

    Тогда на ajax'е вы должны обращаться к этой message через переменную response, типа вот так:

    alert(response.message);
    Ответ написан
    Комментировать
  • Как правильно произвести поиск строк в файле и извлечь из них данные?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Небольшой код для считывания данных из файла и записи в список:
    List<string> logs = new List<string>();
    using(StreamReader reader = new StreamReader("fileName.txt"))
    {
       while(!reader.EndOfStream)
       {
          logs.Add(reader.ReadLine());
       }
    }


    После этого, в списке logs будут все СТРОКИ из файла логов (Если он txt в данном случае). Далее, вы можете попробовать пройтись по этому списку и каждый элемент проверить с помощью метода класса String - IsContain который принимает аргументом строку. Если лог с ошибкой 100% имеет часть строки как Number of errors, вы можете сразу проверить сам лог

    Далее, можно уже просто по индексу искать, если у вас один и тот же паттерн для генерации данного лога ошибки, мол, если количество символов там не меняется никогда.

    Или можно применить метод Split(' ') для разбиения строки по пробелу, после чего элемент с индексом 6 будет иметь количество ошибок с точкой в конце (Как часть строки). После этого применить метод TrimEnd('.'), т.е. удалить указанный символ с конца строки и потом этот элемент просто int.Parse(...), что на выходе даст вам целое число ошибок. Но, лучше используйте int.TryParse(...)
    Ответ написан
    Комментировать
  • Возможно ли уменьшить строку с цифрами в 10 раз и потом вернуть её обратно?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Технически, это сделать можно, но для этого вам нужно более детально изучить методы кодирования информации, вот одни из самых простых, которые вы можете реализовать:

    • Алгоритм Шеннона — Фано
    • Алгоритм Хаффмана
    • Метод LZ77
    • Метод LZSS
    • Метод LZ78
    • Метод LZW
    • Метод Хэмминга (Сложный)
    Ответ написан
    Комментировать
  • Как параметризировать репозиторий базы данных?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Лично мой совет:

    Во первых, попробуйте сначала asp.net mvc, так как asp.net web api предлагается для тех программистов, которые имеют хотя бы 2 года коммерческого опыта.
    Во вторых, для новичков рекомендуется использовать Entity Framework (Для MS SQL Server и SSMS)
    Во трерьих, наследование от интерфейса (Правильно называется реализацией интерфейса, наследование только от классов) не создаст вам проблем, особенно если у вас в таком случае не возникает проблема компилляции (Какая именно?)
    Во четвертых, реализация интерфейсов вам понадобится для так званого "Конвейера", который вы должны изучить на asp.net mvc
    Ответ написан
    Комментировать
  • Почему в ListView не показываются элементы, а также является null?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Данный класс, в котором вы пишете (Form1) является partial (Прочитайте об этом). Вторая часть этого класса инициализирует (Т.е. создаёт) всё компоненты (Кнопки, текстБоксы и т.д.) на форме. По этому, до того, как на форме появятся хоть какие-то элементы, их нельзя, т.к. технически, они не будут ещё существовать вообще (т.е. null)
    Ответ написан
    Комментировать
  • Как привязать поведение ссылки/кнопки к конкретному экземпляру класса?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Немного не понял задачу, так что дам ответ, на то, что я понял)

    Во первых, попробуйте использовать JS, если нужно в зависимости от "Чего-то" изменить "Что-то", но это, как вы поняли, работает, если вам нужны изменения на вьюхе (Тут даже Vue.js подойдёт лучше).

    Во вторых, попробуйте использовать другие классы для таких задач. Тут вам уже нужен будет (Возможно) Ajax для корректной работы с вьюхами. Через Ajax пробуйте переадресовать клик "Куда-то" и там уже обработать
    Ответ написан
  • Почему Entity Framework Core не создаёт столбцы в таблице?

    NikFaraday
    @NikFaraday Автор вопроса
    Student full-stack Developer
    Оказывается проблема была в отсутствии nullable связей между таблицами
    Ответ написан
    Комментировать
  • Как переопределить встроенную валидацию в конвейер обработки запроса .net core?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Что-то рано вы перешли к web api )
    Лично я использую FluentValidation API (Не путать с Fluent Validator), который вы можете установить через NuGet и посмотреть на офф.сайте, как правильно настроить, буквально до часа работы займёт.
    Та же можно использовать стандартное свойство Model внутри контроллера и из него свойство IsValid для валидации модели либо отдельно проверять каждое свойство/поле на какое-то конкретное значение (== null, is null, String.IsEmpty(...)) и возвращать соответствующий сетевой код, для примера, в вашем случае, можно сделать return BadRequest( new { response = "Some fields is empty });
    BadRequest относится к типам, которые доступны по стандарту и в asp.net имеют соответствующие значения сетевых кодов. Вы используете в примере Ok, т.е. сетевой код 200.
    Ещё попробуйте поставить на метод HttpPost - IgnoreAntiforgetToken или как-то так он называется, возможно ошибка в нём (Если об этом не читали и ничего с этим не делали, тогда прям наверняка)
    Более подробно можете найти в интернете, направление я вам дал)
    Ответ написан
  • Как исправить исключение System.AggregateException: "Some services are not able to be constructed"?

    NikFaraday
    @NikFaraday Автор вопроса
    Student full-stack Developer
    Решение: проблема может возникать, если в другом классе, где вы пытаетесь получить объект через DI используется класс вместо интерфейса.
    Так же ошибка может возникать, если просто не зарегистрирован сервисный класс в конвейере
    Ответ написан
    Комментировать
  • Как и что читать дальше по C#?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Если вы даже данный момент пойдёте на работу, уже сейчас вы будете получать задачи по новому .NET 6, так что ориентируйтесь именно на него, максимум .NET 5. Так же для этого вам потребуется знать минимальный JS, html+css, ajax, JQuery и конечно же без Entity Framework Core не обойдётся
    Ответ написан
    Комментировать
  • Рациональность кода C#?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Вам нужно изучить или, хотя бы, прочитать об этом:

    • Классы C#
    • Многопроектные решения
    • Паттерны проектирования
    • Книги по проектированию


    Для полного изучения может уйти очень много времени, но результат стоит того. Прочитайте немного из каждого пункта и вы узнаете много чего нового, что даже на данному уровне поможет вам уже сейчас
    Ответ написан
    Комментировать
  • Как передать данные по умолчанию из одного класса в другой?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    При попытке вывода на экран у вас выводится не дата и сам класс, так как у вас не предусмотрено метода для вывода на экран. Для облегчения задачи, предлагаю вам сделать метод типа PrintInfo() который будет сам печатать на экран все необходимые данные данного класса при вызове
    Ответ написан
    Комментировать
  • При компиляции матрицы по левой диагонали выдаёт ошибку, как это исправить?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Какая ошибка выдаёт то?
    Почему вы используете строку для инициализации?
    Почему вы её сплитуете по пустому значению?
    Ответ написан
    Комментировать
  • Как вызвать событие в WPF?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    События - это специальный тип делегата (Ссылка на метод или функцию) которая исполняется при каком-то действии
    Для создания события для baseBlock (Если это пользовательский класс), нужно в этом классе описать делегат, который будет принимать необходимые параметры, типа sender и RountedEventArgs.
    Далее в классе нужно описать экземпляр на этот делегат, типа так:

    public delegate returnValue DelegateName(Params param);
    event DelegateName eventHandlerName;


    Далее, сама суть в том, что при выполнении некоторых действий, по типу, когда вызывается какой-то метод, допусти, для вывода состояния объекта либо класса, тогда в этом методе должно вызываться это событие, так как оно будет указывать на то, что был вызван именно этот метод.
    Суть событий как раз таки в том, что бы отслеживать вызов методов и всё. Этот делегат должен инициализироваться снаружи класса, т.е., то, что будет делаться при вызове события, будет определяться непосредственно пользователем, так как и с обычными событиями для Click, когда действия, которые будут выполняться, определяет именно программист.

    Для более детального изучения (Если метанит, значит метанит )) ) ссылку прилагаю ниже
    https://metanit.com/sharp/tutorial/3.14.php
    Ответ написан
  • Как узнать есть ли пробел после разделителя?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Для разбиения по точке используйте Split('.')
    Для проверки наличия пробела после запятой используйте поиск запятой через цикл (Лучше через for) и проверяйся элемент с индексом i+1, является ли он пробелом.
    Что-то типа if (list[i + 1] == ' ') ...
    Ответ написан
    Комментировать
  • Как можно разрешить ошибку NU1100?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    https://docs.microsoft.com/ru-RU/nuget/reference/e...

    Ошибка не в конфигурации проекта (Тот код, что вы скинули) а скорее в самом коде либо в наличии несовместимых пакетов. Детальнее об ошибке на ссылке выше
    Ответ написан
    Комментировать
  • C# эмуляция мыши в неактивном окне?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Если я правильно понимаю, вам нужна система Drag and drop и делать это вообще лучше на JS, если это относится к браузеру
    Ответ написан
    Комментировать
  • Почему ViewData возвращает пустую строку?

    NikFaraday
    @NikFaraday Автор вопроса
    Student full-stack Developer
    Ответ: html разметка генерируется на сервере. При получении разметки отрабатывается метод HttpGet а при отправке данных - HttpPost. Так как я использую Ajax, у меня страница не перегружается и, соответственно, не генерируется разметка заново, значит значение ViewBag, ViewData и так далее не изменяется после отправки данных на сервер через Ajax. Соответственно, значение ViewBad и ViewData имеют стандартные значения, т.е. null.
    Ответ написан
    Комментировать