在reactjs中访问viewbag属性

问题描述:

我正在开发一个web应用程序,在那里我使用reactjs和MVC c#。在reactjs中访问viewbag属性

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

ViewBag在服务器端渲染并执行,在浏览器(客户端)上调用响应。
你的主要选项有:

  1. 全局变量 - 在剃刀(.cshtml),你可以设置一个全局 对象window.param = ViewBag.param。并从反应中访问它。
    const x = window.param
  2. 通过 data-attribute传递一个值(仅适用于原语)反应的根元素,并抓住它,你打电话之前渲染:例如:

    // 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) 
    
+1

完美。谢谢 – Maddy