Можно ли написать такую функцию, которая будет вызываться из JS и из C#

199
01 сентября 2018, 08:00

Я пишу на C# в Asp.Net MVC. У меня есть различные компоненты: диалоговое окно, прогресс бар, спойлер и т.д. Я их добавляю с помощью html хелперов, но также мне их часто приходится добавлять на страницу динамически из JS, .

Мне не нравится то, что я дублирую код с C# в JS. Можно ли это как-то исправить? Написать такую функцию, которая будет вызываться и из JS и из C#.

Возможно есть какой-нибудь компилятор, который компилит TypeScript одновременно и в JS и в C#? Или какие-нибудь другие способы?

Answer 1

Единого языка для клиента и сервера в случае ASP.NET MVC нет. Такой бонус на проверенных временем платформах существует только для JavaScript в форме Node.js (собственно, киллер фича сей штуковины).

Для .NET есть разной степени сырости компиляторы JS. На данный момент активно развивается Blazor, полагающийся на Mono и WebAssembly для написания SPA полностью на C#. Но вообще есть компиляторы для JS на базе DLR и наоборот компиляторы из IL в JS, которые просто позволят выполнить JS в рантайме .NET или наоборот безо всяких революций.

Вариантов много, сам не пользовался, так что с выбором конкретного компилятора не помогу.

READ ALSO
Есть ли в C# аналог eval? [дубликат]

Есть ли в C# аналог eval? [дубликат]

На данный вопрос уже ответили:

193
Нужна помощь с Asp.Net Core

Нужна помощь с Asp.Net Core

<a asp-action="Create" class="c">Добавить модель</a>

162
Обработка ошибок в проекте MVC

Обработка ошибок в проекте MVC

Есть MVC-проект, в нём несколько десятков контроллеров с кучей различных методов

182
Подписать вызов события на событие

Подписать вызов события на событие

Делаю GUI для MonoGameОбработка происходит через метод Update(), что не всегда удобно, поэтому я решил вынести некоторый функционал в события

171