访问reactjs中的viewbag属性

时间:2017-09-14 06:48:08

标签: javascript reactjs asp.net-mvc-4 razor

我正在开发一个Web应用程序,我正在使用reactjs和MVC c#。

我想知道jsx是否包含在cshtml中,是否可以访问jsx中的viewbag属性?我会有一个对象或id传递给jsx,它将在UI中呈现?

1 个答案:

答案 0 :(得分:5)

ViewBag在服务器端呈现并执行,在浏览器(客户端)上调用react 您的主要选择是:

  1. 全局变量 - 在剃刀(.cshtml)中,您可以设置全局变量 对象window.param = ViewBag.param。从反应中获取它 const x = window.param
  2. 通过a将值(仅基元)传递给react的根元素 data-attribute并在调用render之前抓住它:example:

        // razor (.cshtml)
            <div id="root" data-param="@ViewBag.param"></div>
    
       // react
            const root = document.getElementById('root');    
            const param =  root.getAttribute('data-param');
            render(<App myParam={param}/>, root)