Передача функции javascript на сторону сервера ReactJS.NET

У меня довольно простой, но, наверное, сложный вопрос.

Я использую ReactJS.net для рендеринга реагирующих компонентов на стороне сервера. У меня есть компонент typeahead, который я использую несколько раз на своем сайте. Одним из ожидаемых свойств является функция фильтра javascript.

Я не хочу создавать отдельный компонент для каждого экземпляра typeahead, но хотел бы передать функцию javascript в качестве свойства, чтобы я мог повторно использовать компонент на всем сайте.

Например, чтобы отрендерить компонент на сервере, я бы сделал следующее. Второй параметр - это аргумент свойств

@Html.React("Components.WorkSiteTypeahead", new { filterFn = model.SomeFunction })

Теперь, когда ReactJS.net ожидает собственные объекты С# (строка, массив, список и т. д.), я не вижу прямого способа передать функцию Javascript. Любые идеи о том, как мне сообщить моему представлению MVC5, чтобы моя функция отображалась не как строка? Мой первый инстинкт заключается в том, что может быть какой-то тип Javascript Raw, о котором я не знаю, но не смог его найти.


person Ray Suelzer    schedule 28.03.2015    source источник
comment
Конечно, после того, как я написал это, я понял это. Newtonsofts JRAW делает свое дело filterFn= new JRaw("function() {doStuff())}")   -  person Ray Suelzer    schedule 28.03.2015
comment
Вы должны опубликовать свой комментарий как ответ и пометить его как принятый. Можно принять свой собственный ответ :)   -  person Daniel Lo Nigro    schedule 30.03.2015


Ответы (1)


Как я и подозревал, по крайней мере один из способов сделать это — использовать JRAW Type от Newtonsoft.

@Html.React("Components.WorkSiteTypeahead", new { filterFn = JRaw("function(){//do stuff } "})
person Ray Suelzer    schedule 29.03.2015