C# 将变量(字符串)的值从razor视图传递给React组件

C# 将变量(字符串)的值从razor视图传递给React组件,c#,.net,reactjs,razor,C#,.net,Reactjs,Razor,我想知道您是否有关于将字符串从razor视图传递到React组件的建议 导出默认类WidgetModel扩展组件{ 构造函数(){ 超级() } render(){ const{}=this.props, 报税表( {Copy} ) } } @复制 据我所知,您的c#代码在服务器中得到评估,当时react不存在,然后代码将被传递到浏览器,然后react将呈现它 因此,基本上您无法访问您想要的普通变量,但可以将您的c#值分配给全局javascript变量,以便您稍后在浏览器中选择它: 假设这是

我想知道您是否有关于将字符串从razor视图传递到React组件的建议

导出默认类WidgetModel扩展组件{
构造函数(){
超级()
}
render(){
const{}=this.props,
报税表(
{Copy}

) } }

@复制


据我所知,您的c#代码在服务器中得到评估,当时react不存在,然后代码将被传递到浏览器,然后react将呈现它

因此,基本上您无法访问您想要的普通变量,但可以将您的c#值分配给全局javascript变量,以便您稍后在浏览器中选择它:

假设这是你的c代码:


@复制

添加如下内容:

<div id="widget">
      <p>@vm.Copy</p>

      <script>
        var window.Copy = "@vm.Copy"; // we need the quotation so javascript doesn't compile it as a refrence, rather as a string
        console.log('Copy',Copy);
      </script>
   </div>

@复制

var window.Copy=“@vm.Copy”//我们需要引用,这样javascript就不会将其编译为引用,而是作为字符串 console.log('Copy',Copy);
然后在您的react代码中,您应该能够拾取它:

 render() {
    const {  } = this.props,   
    return (  
      <p>{window.Copy}</p>           
    )
  }
render(){
const{}=this.props,
报税表(
{window.Copy}

) }
将这些类型的变量放在函数(或闭包)中而不是直接放在窗口对象上会有什么附加值?
 render() {
    const {  } = this.props,   
    return (  
      <p>{window.Copy}</p>           
    )
  }