如何从reactjs.net访问web.config设置?

时间:2017-01-20 19:47:50

标签: asp.net reactjs.net

我正在尝试从一些reactjs.net组件访问一些Web配置设置。我在加载应用程序时需要这些,但是reactjs.net上的文档还有很多不足之处。有谁知道如何实现这一目标?是的,我可以让它通过xmlhttprequest回调服务器,但我宁愿能够通过应用程序传递它们。有没有办法让它们在视图中并将它们作为参数传递?

提前致谢!

2 个答案:

答案 0 :(得分:1)

我能够通过跳过这些篮球来解决这个问题;对于这个例子,我将获得web.config"环境" app键值:

  1. 在您的反应View .cshtml文件中,将其放入<head>
  2. &#13;
    &#13;
    <script>
          var REACT_APP_RUNTIME_ENVIRONMENT = window.REACT_APP_RUNTIME_ENVIRONMENT = '@System.Web.Configuration.WebConfigurationManager.AppSettings["environment"]';
          if (REACT_APP_RUNTIME_ENVIRONMENT.indexOf('Configuration') != -1){
            REACT_APP_RUNTIME_ENVIRONMENT = window.REACT_APP_RUNTIME_ENVIRONMENT = 'dev';    // Backup value in case the above fails
          }
    </script>
    &#13;
    &#13;
    &#13;

    在上面的示例中,我添加了一个条件作为回退,因此您可以使用平面index.html页面而不是ASP.NET MVC项目,而是在那里修改运行时环境变量。

    1. 在您的反应项目中,您现在可以访问window.REACT_APP_RUNTIME_ENVIRONMENT,它将提取值&#34;环境&#34;来自web.config:
    2. <appSettings> <add key="environment" value="test" /> </appSettings>

      值得注意的是,我只在ASP.NET MVC项目中对此进行了测试。

答案 1 :(得分:0)

看起来你回答了自己的问题。

没有什么可以阻止您在应用程序加载时触发请求,检索设置,将它们存储在客户端并让您的组件只使用它们。

这没有任何问题,它使一切变得简单明了。