2

我有一个非常基本但可能很复杂的问题。

我正在使用 ReactJS.net 呈现反应组件服务器端。我有一个 typeahead 组件,我在整个站点中多次使用它。它期望的属性之一是 javascript 过滤器函数。

我不想为预先输入的每个实例创建一个单独的组件,但想将一个 javascript 函数作为属性传递,以便我可以在整个站点中重用该组件。

例如,要在服务器上呈现组件,我将执行以下操作。第二个参数是属性参数

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

现在,由于 ReactJS.net 需要原生 c# 对象(字符串、数组、列表等),我看不到任何直接的方式来传递 Javascript 函数。关于如何告诉我的 MVC5 视图将我的函数呈现为字符串的任何想法?我的第一直觉是,可能存在某种我不知道但无法找到的 Javascript Raw 类型。

4

1 回答 1

6

正如我所怀疑的,至少有一种方法是使用 Newtonsoft 的 JRAW Type。

@Html.React("Components.WorkSiteTypeahead", new { filterFn = JRaw("function(){//do stuff } "})
于 2015-03-29T22:58:07.337 回答