Задать вопрос
Ответы пользователя по тегу C#
  • Какой параметр в PDF отвечает за отступ от края страницы?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    по состоянию на 02.11.2019 19:25 МСК имеем
    вопрос
    Какой параметр в PDF отвечает за отступ от края страницы?

    пояснение
    Создал два PDF файла в ворде.
    В одном PDF поставил левое поле больше, в другом - меньше.
    При просмотре видно, что поля разные, но как найти размеры полей программно?
    Пытаюсь выводить размеры ArtBox, BleedBox, CropBox, MediaBox, TrimBox и Rect, но они одинаковые в обоих документах.

    - C# упоминается только в теге
    - OpenXML SDK не упоминается вообще
    - упоминается Создал два PDF файла в ворде. со скрипом домысливая причастность к вопросу тега C#, можно предложить создавать програмно в ворде свои документы, там же править параметры страницы, после чего сохранять в pdf. думаю на изучение задачи управления парметрами страницы в ворде, должно уйти гораздо меньше двух лет
    а сохранить в pdf
    вообще элементарно
    после того как нагуглишь, у меня ушло не более вечера.
    задача была конвертировать rtf в pdf. если платные либы, но это запрещалось. все беплатное было через заднее крыльцо html, что попахивало жуткими потерями идентичности документов. при этом не запрещалось использовать word. вышло так
    internal static bool wordAsConverter(string rtf, string pdf, bool verb = true, bool clean = true)
    {
      $"\t..try convert to pdf...".print();
      var res = false;
      var app = new Application();
      try
      {
        var doc = app.Documents.Open(rtf);
        doc.ExportAsFixedFormat(pdf, WdExportFormat.wdExportFormatPDF);
        doc.Close(false);
        res = true;
        var fn = Path.GetFileName(rtf);
        if (verb) $"\t{fn} converted to pdf".print();
        if (clean)
        {
          File.Delete(rtf);
          if (verb) $"\t{fn} deleted".print();
        }
      }
      catch (Exception e) { e.Message.print(); }
      finally { app.Quit(false); }
      return res;
    }
    // что бы не смущал .print(); это уже привычка, для уменьшения многословности кода
    internal static void print(this string s) => Console.WriteLine(s);
    Ответ написан
  • Как открыть веб-страницу внутри формы приложения C#?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    проще всего WebBrowser
    по фичам конечно круче CefSharp но он сложнее в освоении
    есть еще GeckoFx мне показался проще, но к сожалению он редко обновляется.

    ps для WinForms других вариантов нет. для win10 UWP встроенный WebView использует движек Edge. все встроено, докментаци в MSDN. в студии посказки, и тд
    Ответ написан
    Комментировать
  • C#.Как спарсить текст со всеми совпадениями?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    yuopi, думаю уже перебор. достаю свой вариант из каментов
    using System;
    using System.Linq;
     
    namespace parse_ip
    {
        class Program
        {
            static void Main(string[] args)
            {
                var l = Console.In.ReadToEnd()
                    .Split(Environment.NewLine)
                    .Select(s => s.TrimStart('-'))
                    .Where(s => s.Contains("IP:"));
                foreach (var s in l)
                    Console.WriteLine(s);
            }
        }
    }

    .. и использование

    ps
    для работы с произвольным стримом, вставить нужный источник вместо Console.In. хоть WebResponse.GetResponseStream(), хоть сокет.
    для работы с обычным текстовым файлом, всместо Console.In.ReadToEnd().Split(Environment.NewLine), вставить File.ReadAllLines("путь+имя").
    все.
    Ответ написан
    Комментировать
  • Для чего здесь обрезается строка?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    это попытка получить путь к папке проекта во время отладки, возможно программа использует какие то файлы включенные в проект - txt, json, xml, или еще что либо подобное. такие файлы удобно редактировать прямо в студии, во время разработки, но они не копируются в папку бинарного кода автоматически. а по задумке разработчика, вероятно, они должны лежать вместе с исполняемым фалом. может это конфиги.

    ps в точности для этого сценария, есть и встроенный способ - открываем свойства любого такого файла, и там есть пунктик копировать в выходную папку

    но если программа, во время работы изменяет содержимое дополнительных файлов, и его надо сохранить. тогда доступ в папку проекта - то что надо
    Ответ написан
    Комментировать
  • Чем заменить printf_s("%.0lf", s) в C#?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    а так https://docs.microsoft.com/ru-ru/dotnet/standard/b... ?

    ps если сложности с языком "потенциального противника", ищите в урле МСДН фрагмент en-en (может даже en-us) и заменяете на ru-ru. правда бывают страницы для которых даже машинного перевода еще нет. но редко

    еще совет, попробуйте использовать вместо doubleBiginteger
    а то (покоцано, double не заметил, а аналога в шарпе нет)
    выхлоп приведенного фрагмента, даже для C++ не выглядит правдоподобным. double плюсов имеет не более 15 знаков точности https://docs.microsoft.com/ru-ru/cpp/cpp/data-type... а у вас там явно в разы больше

    а 15 знаков точности, таки 6,82455418022865E+86 как раз и будет. что для плюсов, что для шарпа ;)))
    ответ у вас точно из другого источника, совсем не из плюсов. даже excel имеет что то в районе 30 знаков точности, что совпадает с decimal

    pps у вас там 87 знаков. вот пруф https://dotnetfiddle.net/LRji4y
    так что приведеный фрагмент плюсов нервно курит. он тоже не может дать ни чего кроме 6,82455418022865E+86, по тому что использует double. чем заменить в плюсах не знаю.но раз вопрос о шарпе, повторюсь - заменяйте на

    .. раз аналога long double в шарпе нету, берем Biginteger и проверяем https://dotnetfiddle.net/UC8Qwi

    так что ни какой особый спецификатор формата не нужен. это категорически только вопрос точности вычислений. но он еще интереснее. плюсы (у меня тоже)
    выдают
    #include <iostream>
    using namespace std;
    
    int main()
    {
    	int k = 50;
    	//cin >> 50; кстати доставляет
    	// по тому и предположил сразу k = 50
    	long double s = 36 * pow(55, k - 1);
    	printf_s("%.0lf", s);
    }

    682455418022864774674923808460655749191222515615160719133685961958626840651329615953920
    а
    шарп
    using System;
    using System.Numerics;
    
    namespace big_int_net
    {
        class Program
        {
            static void Main(string[] args)
            {
                var s = 36 * BigInteger.Pow(55, 49);
                Console.WriteLine(s);
            }
        }
    }

    682455418022864824778975492858747729001539122984270520078098343219608068466186523437500

    это снова вопрос точности. кто косячит. пока не готов сказать бинго!
    float double на таких больших значения как раз и дает ошибку - верны только старшие 22 знака из 87 (!!!). а BigInteger данное выражение считает точно.
    пруф - https://www.wolframalpha.com/input/?i=36*55%5E49
    Ответ написан
    Комментировать
  • Как разрабатывать на языке C# без Виндоус 10 в Виндоус 7?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    visual studio code или более старые версии visual studio

    ps но разве что для начального изучения языка, или если найти работу, гду большой парк старых машин и старых систем, ни кто не спешит обновлятся, но есть корпоративные наработки на шарпе.
    разрабатывать на продажу точно лучше уже на 10.
    Ответ написан
    Комментировать
  • Как сделать Distinct для List?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    уточните вопрос - выхотите получить выборку по конкретному id?
    если да, то надо не Distinct() использовать, а Where(d => (d.id == targetId))

    если вы примените Distinct(), то даже при наличии повторяющихся id, но с различными данными, то вы получите ровно всю исходную коллекцию

    ну и как возможный вариант для повторяющихся id, если вы хотите получить только список id, то
    код и выхлоп под спойлером
    using System;
    using System.Collections.Generic;
    using System.Linq;
    
    public class dt
    {
        public int id;
        public int val;
    }
    
    namespace distinct_or_not_distinct
    {
        public static class Program
        {
            public static void Main()
            {
                var listdata = new List<dt>();
                listdata.Add(new dt() { id = 1, val = 11 });
                listdata.Add(new dt() { id = 1, val = 12 });
                listdata.Add(new dt() { id = 2, val = 21 });
                listdata.Add(new dt() { id = 2, val = 22 });
                listdata.Add(new dt() { id = 3, val = 31 });
                
                "distinct dt".print();
                listdata.Distinct().ToList().print();
                newLine();
    
                "distinct id".print();
                (from d in listdata select d.id).Distinct().ToList().print();
                newLine();
    
                var targetId = 2;
                $"target id {targetId}".print();
                listdata.Where(d => (d.id == targetId)).ToList().print();
                newLine();
            }
    
            public static void print(this List<dt> l) { foreach (var d in l) d.print(); }
            public static void print(this dt d) => Console.WriteLine($"\tid:{d.id} val:{d.val}");
    
            public static void print(this List<int> l) { foreach (var i in l) i.print(); }
            public static void print(this int i) => Console.WriteLine('\t' + i.ToString());
            public static void print(this string s) => Console.WriteLine(s);
            public static void newLine() => Console.WriteLine();
        }
    }
    0wU4V8f.png
    Ответ написан
    Комментировать
  • .Net или сразу Net.core для полного нуля в программировании?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    Core.
    традиционный дотнет 4.8 последний релиз. где то через год будет .Net 5, снова единый, но уже кроссплатформенный
    proof - https://habr.com/ru/company/raiffeisenbank/blog/451136/

    ps пикантность ситуации в том, что книги фатально отстают от реальности. все заслуженно уважаемые издания, пишут про виндовый, "традиционный" дотнет. а МС его уже подписал в утиль. пока вы более менее освоитесь в программировании (год минимум), он уже будет конкретным легаси. а все новье буду пилить на 5м дотнет, который вырастет из нынешней корки 3. номер в 4 в релизах корки, пропускается по политическим и психологическим причинам - что бы не было путаницы с 4.* традишеном

    хотя 4.* традишен, конечно еще много лет будут поддерживать (латать дыры безопасности) из за накопленной массы кода. ну и работа на нем, по сопровождению существующих проектов, тоже будет еще годы востребована

    совет - учите оба ;)
    Ответ написан
    Комментировать
  • Параллельное сохранение файла консоли где я хочу?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    ну тогда уж гуглите 'mirror stdout', а то 'redirect stdout' именно перенаправит вывод в куда то. на экране будет пусто
    или даже временный файл где все это на самом деле хранится
    не такого
    что то подсказывает мне, что есть некая область памяти
    такое есть, это буффер вашего stdout, но для начала он под капотом системы. если в линуксе, то это одна история, если винде, то абсолютно другая. про винду добавлю - можете погрызть win32 api. с одной стороны гарантированно возможно залезть грязными ручками, даже из шарпа, в буффер stdout. с другой стороны гарантированно придется сильно напрягать мозги (с непривычка, а так то там ни че страшного) и много гуглить. а еще, в процессе такого обучения, наверняка иногда будете ронять систему. я так думаю. ибо если бы вы уже имели опыт общения с win32 api, то вряд ли бы задавали этот вопрос

    ps вишенка на тортик - в шарпе можно элегантно добавить свои методы вывода, и дублировать вывод на экран и в файл, внутри такого метода. а еще есть просто море готовых либ логгирования, с огромным количество параметров

    OMG

    iamserge,
    Я хотел как КРАСИВО! То есть продублировать еще раз, как все, но так чтобы КРАСИВО, как будто я не занимаюсь черти чем, а делаю не как все и весь такой молодец. Понимаете почему?
    понимаю только что до вас не доходит абсолютно
    То есть все таки нет? https://www.opennet.ru/docs/RUS/bash_scripting_gui...
    Хм, нашел такая штука ... Оно Linux судя по всему, но суть ясная ... это вообще команда консоли, что судя по всему означает, что надо в "этом состоянии" запуститься ... Хм, мысль интересная ... Пока не выглядит красивым, что жаль.
    то что вы нашли, это перенаправление. я об этом раз пять уже сказал. в винде тоже самое, с небольшими отличиями:
    если у вас выхлоп без диалога, то все просто до отвращения - пишете скрипт, в котором перенаправляете в "куда хочу" выхлоп проги, а уже после ее оокончания, выводите его еще и на экран
    а потоки ввода вывода, не смотря на различия в исходниках ядер операционнах систем GNU Linix и MS Windosw, иделогочески работают абсолютно одинаково. api разные. но идеология одна. перенаправить выхлоп готовой проги в скрипте элементарно, даже оператор для скриптов одинаковый >. но если вы захотите дублировать вывод (а именно так звучит ваш вопрос)
    Параллельное сохранение файла консоли где я хочу?
    то придеся лезть в системное программирование. и в Linix и Windosw

    и последний раз повторяю - если вы пишете свою собственную программу на C# (!!! а таков тег вопроса), сделать свою функцию-заменитель Console.WriteLine()не соизмеримо проще. и в реализации. и в использовании
    Ответ написан
    9 комментариев
  • Где ошибка в коде с#?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    ошибка в строке 18
    SpeechRecogitionEngine sre = // буковку n пропустили

    сейчас проще использовать ключевое слово var, код легче читаетсяvar sre =
    а других ошибок в этом коде нет (скрин под спойлером)
    ToYzQDS.png
    даже подчеркивание на ru-RU это спелчекер а не компилятор

    еще не принято создавать экземпляр класса Program, лучше делать отдельно классы предназначенные для какой либо цели.

    и еще нет смысла создавать локальную переменную в конструкторе класса. она будет утрачена после завершения конструктора. обычно делают члены класса
    Ответ написан
    Комментировать
  • Как распаковать файл .bin?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    из каментов
    fullunpack --keep "C:\alldata\alldata.bin" zlib nY/RHn+XH8T77 64
    zlib это кодек
    nY/RHn+XH8T77 это sid
    64 это длина ключа

    пока что валимся на кодеке, за все остальное не известно
    VS крутой инструмент, в дебагере оказалось легко заметить, что кодаков всего два. точнее 3 варианта параметра zlib, zstd, zstandard, но 2 из них синонимы

    правильная строка параметров
    fullunpack --keep "C:\alldata\alldata.bin" zstd nY/RHn+XH8T77 64


    но на этом мытарства не заканчиваются, библиотека кодека zstandard.net кросс платформенная, но использует сторонние бинарные libzstd.dll, которые различны для x86 и x64, по этому копируются в выходной каталог приложения в подпапки. надо скопировать нужную (по разрядности операционки) в выходной каталог приложения
    пришлось..
    еще немного поскрипеть мозгами и погуглить, что бы разгадать этот ребус

    и последний вопрос - вам в паблик выложить начинку? или свяжтесь в личке? ))
    ps если не свяжетесь в течении 5-10 минут, здесь и выложу
    время вышло

    вот ваш контент https://1drv.ms/u/s!AiSqqnKTCEDNkYdFZT0Pv-YnGbLTpQ...
    что требовалось
    что бы собрать с нуля самостоятельно
    - установить VS2019 Community
    - выбрать рабочую нагрузку .Net Core
    - в "отдельных компонентах" поставить галочку ".Net Core 2.2 runtime"
    - форкнуть проект по ссылке прямо в студии
    - сменить режим просмотра с "папки" на "решение" (автор проекта работает в VS Code)
    - в диспетчере пакетов Nuget, освежить пакеты (когда предлагает обновления, лучше этого не делать)
    - в параметрах проекта, на вкладке Debug, ввести корректную строку параметров
    - собрать приложение
    - скопировать нужную libzstd.dll в выходной каталог
    - запустить и получить содержимое бинарника

    но не имея опыта общения со студией и коркой, все это не так уж и очевидно
    Ответ написан
    6 комментариев
  • Как скрыть параметры приложения/передать параметры уже запущенному приложению?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    как скрыть или передать аргументы запуска уже в запущенной clientProcess приложение?
    ни как

    мне тут подсказали, что нужно перехватить stdin запущенного процесса

    то что вам подсказали, можно/нужно(?) делать до запуска целевого приложения

    ps все еще хуже, stdin запущенного процесса - это ввод во время работы целевого приложения. если вы сумеете перехватить stdin запущенного процесса, вероятно, вы сможе читать ввод (upd к примеру клавиатурный, и даже изменять его. но только во время работы приложения. и это ни как не повлияет на аргументы командной строки)

    но к аргументам командной строки это не имеет ни какого отношения. если вам действительно нужен текущий ввод, а не аргументы командной строки - переформулируйте вопрос

    pps в терминах винды (и при текущей формулировке вопроса), вам надо что то вроде хука на запуск приложения. это возможно (я так думаю) но потребует изучения. возможно усердного
    Ответ написан
    Комментировать
  • Есть ли замена Visual Studio для слабых ноутбуков на Windows 10?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    1 - ну по чесноку и винформы и впф, можно писать в редакторе. но для этого надо их знать существенно по лучше новичка (не верится? XAML - текстовка, и попробуйте вчитаться и осмыслить файлы форм, генереные дизайнером форм
    упорство и труд, все перетрут
    .. если сильно захотите)

    2 - лучший редактор на на замену VS - VS Code (если ваш ноут тянет Хром - потянет и VS Code upd если Хром уже тяжело - notepad++ для подсветки синтаксиса и голые SDK, уже можно творить)

    ps люди на F# пишут винформовские и WPF приложения.. как? ведь дизайнеры студии поддерживают только C# и VB ;))... просто - ручками. берут и пишут. погуглите, поищите на github

    .. ну а там глядишь, может и на апгрейд заработаете. хотя подработку можно найти не только в области ИТ. это же вопрос желания и упорства.. кто то упирается рогом, и покупает машину, или даже квартиру.. а тут ноут ;))
    Ответ написан
    Комментировать
  • На чем пишут десктоп приложения на Java/C#?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    ну тогда уж сосвоей стороны докину..

    На счет C# очень много противоречия, между старой Form и WPF, какую использовать


    ни каких противоречий:
    - "набросать на коленке" простенький UI это формы. но они не держат корректно масштабирование экрана. обещают что скоро будут, но пока нет
    - полноценный интерфейс это WPF
    - а еще есть AvaloniaUI (тоже на XAML, со своими плюшками, но есть и разница в поддержке проекта корпорацией (WPF) и сообществом (AvaloniaUI))
    - есть UWP (вин 10 aka метро UI)
    - есть Electron.NET (но лично я противник таскать за собой копию целого браузера)
    - есть даже GTK# и обертки для QT

    противоречий нет. есть достоинства и недостатки, а так же разный порог вхождения (а бывает еще еще полное неведение о положении дел)

    повышайте эрудицию и определяйтесь с целями. для одних проектов одни решения, для других - другие. но не надейтесь найти "серебряную пулю", ее уж точно нет

    ps
    о кроссплатформенности C# - .Net Core + (AvaloniaUI или Electron.NET) или Xamarin (XAML)
    о семействе Electron.* - современный Skype и VS Code написаны на Electron
    о винде - кровавый энтерпрайз плотно сидит на WPF
    о фрилансе - UWP самый короткий путь выставить в витрину магазина MS свое платное приложение для вин 10 (если конечно у вас есть стоящие идеи)
    pps если хочется в Google Play выставляться, и знаете C# а Java смущает - тогда Xamarin (но многие считают что лучше Kotlin ;)))
    Ответ написан
    Комментировать
  • Как убирать пустоту из листа, оставшуюся после уничтожения объектов, в него входящих?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    1 - при использовании foreach ни сама коллекция (лист, массив, перечисление, не важно) ни ее элементы, не подлежат изменению. только чтение. это правило языка C# (но за Mono не отвечаю)

    2 - про использовании for обходите коллекцию с конца, а не сначала, таким образом не будет проблем с индексами (хотя можно и while использовать для обхода с головы, но на for думаю быстрее поймете суть). пример
    for(int i = Group.Count - 1; i >= 0; i--)
    {
      Destroy(list[i]);
      list.RemoveAt(i); // о размере списка не заморачиваемся вообще
    }


    3 - Unity поддерживает LINQ? там можно было бы еще элегантнее. но LINQ всегда проигрывает по производительности, которая в играх обычно важна. тем не менее
    Group.RemoveAll(tmp => tmp is MissingReferenceException);
    // хотя надо проверить совместимость

    upd вообще то выходит Destroy не делаем. тогда теряется вся элегантность.. ну или надо подольше подумать ))

    ps ну тогда уж и while это примерно так
    var i = 0;
    while (i < Group.Count)
      if (Group[i] is MissingReferenceException)
      {
        Destroy(Group[i]);
        Group.RemoveAt(i);
      }
      else
        i++;

    ну и хардкорное применение for приктически так же выглядит
    for (var i = 0; i < Group.Count;) // да да, инкримент просто не пишем и получается аналог while
      if (Group[i] is MissingReferenceException)
      {
        Destroy(Group[i]);
        Group.RemoveAt(i);
      }
      else
        i++;
    Ответ написан
    Комментировать
  • Как организовать взаимодейтсвие двух форм ввода данных с третьей формой-справочником?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    по фрагментам:
    1 - тут вы создаете форму в локальной переменной form и отображаете как диалог. модально кстати, а не модельно.. если слово смущает, просто нагуглите модальное окно ))
    2 и 3 - финт с var frm = this.Owner; избавляет от незнания переменной, указывающей на экземпляр класса. но именно тут и возникает ваша проблема

    решения:
    - попробуйте рассматривать переменные главного окна, как глобальные, по отношению ко всем порождаемым окнам/диалогам. тогда можно применить другой финт - описать в классе главного окна (здесь видимо frmLScheta) поля форм нужных типов (допустим frmSprStreet SprStreet). и пользоваться ими вместо локальных переменных. получится что то вроде
    var frm = (this.Owner as frmLScheta).SprStreet;
    но такой прием требует обязательной проверки на SprStreet на null
    - более классический прием состоит в создании своего конструктора для дочерних форм (да вообще чего угодно), куда можно передавать и нормально типизированное значение главной формы, и сколь угодное количество смежных форм. естественно в классе должны быть предусмотрены соответствующие типизированные поля, куда конструктор и сохраняет эти значения (указатели по существу). проверка на null так же обязательна. ее можно выполнять в конструкторе, но надежнее в каждом методе, где такой указатель используется.

    ps

    1 - слышали понятие best practices?.. так во у вас bad practices.. попробуйте открыть 2 экземпляра frmSprStreet и работать параллельно. ну и быстро все поймете
    2
    Ничего не понял
    выходит лукавите. поняли, но не очень удачно. при этом удаляете свой камент. да еще и медальку вешаете себе - тройное лукавство. фу
    Ответ написан
  • Как скачать страницу полностью, а не только чистый html?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    на одном только тостере - https://www.google.com/search?client=firefox-b-d&e...
    ps
    пара мыслей в догон..

    - в запрос можно добавить C# .. справитесь самостоятельно?
    - знаете анекдот?.. когда гинеколог убил циганку молотком.. оочень старый.. если не знаете - загуглите
    Ответ написан
    Комментировать
  • Как организовать хранение объекта с таймером на сервере без СУБД?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    Комментировать
  • Тестовое задания - написать свой видео проигрыватель, сложно ли это?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    не верная постановка вопроса:
    - смогу ли я сам? (отвечать вам, самому себе)
    - сколько стоит? и где найти исполнителя на халяву? и это опять НЕ сюда (не на тостер)
    Ответ написан
    Комментировать
  • Как формировать веб-страницу без пересоздания?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    не мой профиль, но на сколько я помню, webforms туго повязаны на ViewState, и вроде как только апдейт страницы. хотя можно конечно использовать и ajax, и frame. но грызть гранит науки придется в любом случае

    MVS.NET не связан такими ограничениями как ViewState, тем не менее, решения частичного обновления фрагментов все равно те же - ajax, frame, и конечно же средства современных фреймворков типа react, angular, vue, другие подобные.. ну и любой рукописный js код тоже
    Ответ написан
    Комментировать