Могу ли я использовать Javascript на стороне сервера для кодирования представлений в Razor? - PullRequest
4 голосов
/ 10 января 2012

Я недавно сотрудничал с внешним разработчиком, не имеющим опыта работы с C #, который собирается кодировать представления для приложения ASP.NET MVC3, которое я создаю.

Поскольку большинство веб-разработчиков знают Javascript, я подумал, что было бы здорово, если бы он делал фрагменты кода на стороне сервера в Javascript, а не в C # в представлениях Razor. Я знаю, что в представлениях не так много кода помимо выходных переменных и т. Д., Но есть некоторые базовые циклы и т. Д.

Мне также очень нравится идея, чтобы код на стороне клиента и на стороне сервера в представлениях был одним и тем же языком.

Возможно ли то, что я хочу сделать? Это вещь Node.js? (Я вообще не смотрел на это.)

Ответы [ 5 ]

2 голосов
/ 10 января 2012

ASP.NET MVC требует использования .NET 4.0.Таким образом, вы можете использовать любой CLS-совместимый язык, который компилируется в MSIL, для создания серверной части.Что касается javascript, ну, JScript.NET теперь устарел, и в настоящее время я не знаю альтернативы.

Что касается Razor, единственные языки, которые анализаторподдерживает C # и VB.NET.Если вы хотите использовать какой-либо другой язык, вам придется либо создать для него синтаксический анализатор, либо использовать альтернативный движок представления.

1 голос
/ 23 июля 2012

Вас может заинтересовать это: механизм просмотра javascript.Это не займет много работы, чтобы заставить его работать с каким-то движком JS

https://github.com/mcintyre321/JsViewEngine

0 голосов
/ 11 мая 2017

Я использовал: https://github.com/pauldotknopf/JavaScriptViewEngine, и он все еще обновляется.

Таким образом, вы устанавливаете альтернативу для Razor Views (сторона сервера c # - Razor ViewEngine) для Javascript Views (сторона сервера js - JS ViewEngine). Вы также можете использовать его для React и / или Javascript.

Я использовал его так, чтобы код на стороне сервера + код интерфейса был одинаковым;)

0 голосов
/ 18 августа 2012

Вы можете использовать javascript и html на странице Razor.Вы даже можете комбинировать их: например,

<script>
     $(document).ready(function() {
       var note = {
          workflow: @Html.Raw(Json.Encode(Model))
       };
       // do something with note
    });
</script>

Но Razor, вероятно, излишне, если это все, что вы планируете делать.Бритва более чем способна делать простые циклы и не должна быть трудной для изучения.Вы уже строите модель представления для своего друга?

Конечно, некоторые разработки javascript вообще будут обходить модели представлений.Вместо этого AJAX-вызовы используются для извлечения данных модели, и их состояние поддерживается на стороне клиента (например, магистраль поддерживает такой подход).

0 голосов
/ 10 января 2012

Я сомневаюсь, что приличному программисту Javascript было бы очень трудно собрать маленькие кусочки C # / VB.Net, необходимые для написания представления.

Однако, единственная возможная альтернатива JS будет иметь ваше представлениевыводите только JS и, возможно, базовую HTML-разметку, а затем используйте ajax для вызова действий контроллера, чтобы получить данные и построить HTML для представления на лету, используя только JS.Мне это кажется слишком сложным способом сделать это, но если ваш разработчик пользовательского интерфейса не может освоить несколько простых навыков программирования на C #, то это может быть решением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...