• Аналог звёздного оператора распаковки * из python в c#?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Цикл foreach хорошо подойдёт
    Кастомная функция для вывода всех элементов списка или массива
    Ответ написан
    Комментировать
  • Как разделить функцию кнопки показать/скрыть пароль на отдельные кнопки?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    1) Дайте каждому полю свой Id
    2) Создайте две кнопки для каждого поля
    3) Через JS (Лучше через jQuery) сделайте обработчик нажатия на каждую кнопку, что бы она меняла тип инпута password/text

    UPD:


    if ($('.password').attr('type') == 'password') {
    $(this).addClass('view');
    $('.password').attr('type', 'text');


    Вот этот ваш код выбирает ВСЕ элементы с классом password и меняет им ВСЕМ тип на text. Если вам нужно для каждого инпута отдельно, тогда делайте выборку НЕ ЧЕРЕЗ КЛАССЫ, а ЧЕРЕЗ ID
    Ответ написан
  • Не получается переделать файл в формат .html, .css или .js. Получается .js.txt. Что можно сделать?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    1) Создать .txt файл на рабочем столе (У вас должно быть включено отображение расширения файлов)
    2) Нажать ПКМ
    3) Переименовать в файл с расширением .html / .css / .js
    4) Нажать ПКМ
    5) Открыть с помощью VS Code

    Или

    1) Нажать на левой напели VS Code верхнюю кнопку
    2) Открыть какую-то рабочую папку
    3) Сверху (На левой панели) нажать кнопку с файлом. Примерно должно выглядеть следующим образом
    62f4bda513ee4638301835.png
    4) Задать имя файла с расширением .html / .css / .js
    5) Сохранить
    Ответ написан
    Комментировать
  • Как прописать валидацию радиокнопки?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Пробуйте jQuery использовать. С jQuery ваш код будет выглядеть вот так:

    <inpute id='radioBtn' />
    
    if (!$('#radioBtn').is(':checked')) {
          console.log('not checked')
        }
    Ответ написан
    Комментировать
  • Как мне визуализировать огромное количество данных из xml-файла?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Используйте загрузку данных в некотором объёме. Допустим, настройте своеобразные страницы для просмотра (Типа сайта фильмов, они не загружаются все миллион, а страницами) и просто вытаскивайте из списка/массива от n индекса до m (m < length) и выводите на экран, или куда вам там надо) Можете так же настроить какие-то сортировки для большего удобства, что-то типа, вывести последних 200 штук
    Ответ написан
    Комментировать
  • Простой способ хранения данных с серверной стороны C# WCF?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    1) Проверьте существование файла по указанному пути
    2) Писать путь к файлу прямым текстом - плохая практика, такие данные нужно хранить где-то в константном виде, либо в конфигурации
    3) Попробуйте записать в файл каждого юзера "По свойственно", т.е. каждое свойство/поле записать отдельно, это всё в цикле для каждого юзера
    4) Запустите дебаг (Для 3го пункта), проверьте, что находится в файле после записи каждого юзера
    5) Вообще, используйте базу данных)))
    Ответ написан
    Комментировать
  • Как исключить undefined NaN?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Думаю, вам стоит продебагать код и вывести промежуточные значения в консоль
    Ответ написан
  • Как выровнять текст посередине рамки?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Сразу пробуйте комбинировать с bootstrap
    Ответ написан
    3 комментария
  • Как прописать проверку активен ли элемент с помощью id?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Вам нужно такую проверку

    f ($(this).hasClass('active')) {
    console.log('active')
    };

    делать после какого-то действия. jQuery не имеет возможности отслеживать изменения классов. Почитайте тут.
    Ответ написан
    Комментировать
  • Как запустить C# в VSCode?

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

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Для инициализации любого ссылочного типа используется ключевое слово new и конструктор
    Ответ написан
    Комментировать
  • Конвертировать строку в объект?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Используйте сериализацию JSON
    Ответ написан
    Комментировать
  • Можно ли используя синтаксис Razor получить значение атрибутов cshtml страницы?

    NikFaraday
    @NikFaraday Автор вопроса
    Student full-stack Developer
    Сделал по другому - через ajax, что бы не использовать Url.Action. Ниже привёл часть скрипта:

    buttons[i].onclick = () => {
            let buttonId = buttons[i].id.split('-')[1];
            let note = document.getElementById('note-' + buttonId).innerHTML;
            noteModal.innerHTML = note;
    
            $("#delete-note-btn").on('click', () => {
                let data = {
                    NoteId: buttonId,
                    ClientId: @Model.ClientId,
                };
    
                let jsonData = JSON.stringify(data);
    
                $.ajax({
                    url: '@Url.Action("Delete", "Note")',
                    method: 'post',
                    data: jsonData,
                    dataType: 'json',
                    contentType: 'application/json; charset=utf-8',
                    success: (response) => {
                        document.getElementById('modal-close-button').click();
                        setTimeout(() => {
                            location.reload();
                        }, 500);
                    },
                    error: (response) => {
                        // Autoredirect to error view
                    },
                });
            });
        }
    Ответ написан
    Комментировать
  • Как вывести список в представление по одному id?

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

    NikFaraday
    @NikFaraday Автор вопроса
    Student full-stack Developer
    Разобрался

    При создании объект ClaimPrincipal, который принимает коллекцию объектов ClaimIdentity, все клаймы будут доступны в HttpContext. Когда вам нужно получить текущего пользователя и его клаймы используя HttpContext(Accessor), свойство User.Claims имеет все клаймы из всех объектов ClaimIdentity, который были использованы во время авторизации, по этому необязательно париться по поводу того, какой из объектов Identity вытянуть, а можно сделать выборку из всех клаймов
    Ответ написан
    Комментировать
  • Как установить checked у radio кнопки?

    NikFaraday
    @NikFaraday
    Student full-stack Developer

    <input type="radio" class="delivery-radio" name="delivery" checked='checked' value="pickup">


    Потому что у вас по стандарту стоит что инпут checked.


    if ($(this).is(':checked') === false ) {
                $('input[name="delivery"]').removeAttr('checked')
                $(this).prop('checked', 'checked');
            }



    Вот этот кусок кода проверяет, если кнопка НЕ чекнуто, ТОГДА мы делаем её НЕ чекнутой ЕЩЁ РАЗ...
    Ответ написан
  • Как ввести логгирование в ASP.NET Core?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Логирование используется для записи ошибок в како-то файл. Например, если вы, при чтении из БД получили Exception, тогда вы обращаетесь к логеру и вызываете метод .LogError куда передает ошибку в виде строки. Эта строка будет записана в файл, откуда вы потом сможете это прочитать.

    Встроенный интерфейс ILogger<> подойдёт вам вполне. Для настройки места, куда будут сохраняться логи, читайте конфигурацию логера, как его правильно настроить

    Да, логи пишутся вручную
    Ответ написан
  • Почему текст вылазит за границы таблицы?

    NikFaraday
    @NikFaraday Автор вопроса
    Student full-stack Developer
    Решение:

    <style type="text/css">
        th, td {
            white-space: unset;
        }
    </style>


    Работает только в том случае, если в тексте есть пробелы, если пробелов нет, тогда текст так и будет вылазить за пределы монитора)
    Ответ написан
    Комментировать
  • Как лучше передавать стандартные значения в другие классы?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Ну, вы движетесь в верном направлении. Создать статический класс в котором будут записаны данные конфигурации и просто вызывать его в тех местах, где это нужно. Если значение нужно только для его получения, можете позначить его readonly (Как вы уже сделали) или public Get; private Set; для свойств.

    Ещё как вариант, можете попробовать использовать статические файлы конфигурации
    Ответ написан
    Комментировать
  • Отличия GET от POST?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    UPD: пример ниже приведён для MVC архитектуры. API выдаёт данные, а не страницы. HttpGet - это получение информации от сервера. HttpPost - отправка информации на сервер. Основная разница в тому, что Post запрос имеет тело запроса, в котором можно передавать сложные структуры. Get запрос может передавать данные через строку запроса

    HttpGet и HttpPost это два стандартных типа запроса. Так же есть HttpPut, HttpDelete и некоторые другие, основные из каких я перечислил сначала.

    Разница между HttpGet и HttpPost в очень простом виде:
    HttpGet - выдача сервером какой-то информации клиенту. Для примера, сервер отдаёт какую-то информацию, допустим, имя и логин пользователя, который зашёл на сайт, для того, что бы отобразить её где-то на странице. Так же Get запрос может отдавать целые страницы в формате HTML или других форматах. По факту, большинство страниц, что вы видите в браузере, включая эту, была передана нам в браузер от сервера путём выполнения запроса. Такая информация передаётся как HttpGet.

    HttpPost - это отправка данных на сервер. Любая. Когда вы регистрируетесь на сайте, ваши данные отправляются с использованием HttpPost запроса. Когда вы делаете изменения личной информации, обновлённые данные отправляются как HttpPost, хотя в REST API принято такой запрос помечать как HttpPut. Тут речь идёт об отправке сложных структур данных, возможно, фотографий, видео, аудио, информации о местонахождении, контактные данные. Т.е., другими словами, когда вы сервер уведомляете о какой-то новой информации.

    Стоит отметить, что редирект через url является HttpGet запросом. Если вы просто делаете переадресацию на какую-то страницу и в url передаёте id клиента (Для примера), что бы на странице сведений вывести его данные (Опять же, чисто для примера), это НЕ HttpPost запрос, это просто редирект. Потому что вы не обновляете никакую информацию. Когда вы обращаетесь к серверу с просьбой отрисовать/отрендрить страницу и передаёте туда id клиента, сервер отдаёт ответ на HttpGet запрос, который имеет разметку самой страницы.

    Иными словами, HttpGet запрос, это то, когда сервер должен отрисовать новую разметку или вернуть какие-то данные в некотором формате (В основном JSON для API). Может выполняться несколько запросов, если вы во время регистрации на сайте отправляете данные, делается сначала HttpPost запрос с отправкой ваших данных, а потом HttpGet, когда у вас рендрится новая страница, на которую вас перекинуло.

    Так же есть HttpPut - аналогия HttpPost, разницы нет почти никакой. Обычно используется для обозначения запроса на обновление информации, т.к. HttpPost должен работать как запрос на создание. Тот же пример HttpDelete - когда нужно удалить информацию.
    Ответ написан
    11 комментариев