我有一个非常基本的,但可能很复杂的问题。
我正在使用ReactJS.net来渲染反应组件服务器端。我有一个typeahead组件,我在我的网站上多次使用。它期望的一个属性是javascript过滤器功能。
我不想为typeahead的每个实例创建一个单独的组件,但是想要将javascript函数作为属性传递,以便我可以在整个站点中重用该组件。
例如,要在服务器上呈现组件,我将执行以下操作。第二个参数是属性段
@Html.React("Components.WorkSiteTypeahead", new { filterFn = model.SomeFunction })
现在,由于ReactJS.net需要本机c#对象(字符串,数组,列表等),我没有看到传递Javascript函数的任何直接方式。关于如何告诉我的MVC5视图将我的函数渲染为字符串的任何想法?我的第一直觉是可能存在某种我不知道的Javascript Raw类型,但却无法找到它。
答案 0 :(得分:6)
我怀疑,至少有一种方法可以使用Newtonsoft的JRAW Type。
@Html.React("Components.WorkSiteTypeahead", new { filterFn = JRaw("function(){//do stuff } "})