代码之家  ›  专栏  ›  技术社区  ›  Amr Badawy

我可以使用jquery从web.config读取数据吗?

  •  2
  • Amr Badawy  · 技术社区  · 14 年前

    我可以使用jquery从web.config读取数据吗?

    8 回复  |  直到 14 年前
        1
  •  15
  •   Kamran Khan    14 年前

    jquery是在浏览器中运行的javascript,web.config位于服务器上。如果您想公开web.config中的数据,我认为您应该创建某种Web服务,您可以从客户端的javascript调用它来获取您想要的数据。

    如果您能够直接读取web.config文件,那么这将是一个主要的安全风险,因为web.config文件通常用于存储敏感信息,如连接字符串等。

        2
  •  2
  •   shay golan    10 年前

    使用时的最佳解决方案 无ASPX /HTML5:

    1.创建文件 "Web.config.js" 项目根中的(Java脚本文件)

    2.在HTML文件中向JS添加引用

    <script src="Web.config.js" type="text/javascript"></script>
    

    3.将键和值添加到 “web.config.js” :

    var prmKEY = "myVal"
    

    4.从jquery访问prmkey作为全局参数

        3
  •  1
  •   Andrew Whitaker    13 年前

    您还可以将数据作为cookie存储在 OnPreRender(EventArgs e) Page_Load(object sender, EventArgs e) (如果您使用 Page_Load() 将cookie存储在 if (!IsPostBack){} 因此,您不需要多次存储它)并在客户机端读取它以用于任何目的。我通常将诸如这样的数据存储在客户端,以便在程序运行时使用。

    服务器端:

    // **This works best if the property isn't a data structure, otherwise you will need to do**
    // some data manipulation to get it to work right
    Response.Cookies["FOO"].Value = MyApp.Properties.Settings.Default.FOO.ToString();
    

    客户端:

    sessionStorage.FOO = readCookie("FOO");
    
        4
  •  0
  •   Kamran Khan    14 年前

    不,你不能。

        5
  •  0
  •   Amr Badawy    14 年前

    我找到了不提供任何Web服务的解决方案:
    1-构建空的aspx页面,在它的加载中,从web.config读取数据,并使用response.write(**)将其写入页面。
    2-使用jquery从创建的页面读取结果,如下所示:

    $.get
    (
       "JQueryPage.aspx",
        function(result) {
          // .. set variable to result and use it 
        }
    };
    
        6
  •  0
  •   Vikram Rao    8 年前
    1. 在页面加载事件中,使用配置管理器将配置值存储在隐藏字段中。
    2. 使用J查询从隐藏字段中注销。
        7
  •  0
  •   Kurkula    8 年前

    您可以在HTML上创建一个带有变量的隐藏文本框,并将配置文件中的值赋给它。为隐藏控件分配一个ID,并使用jquery获取该控件的详细信息。

        8
  •  0
  •   nshouppuohsn    8 年前

    我假设您可以从控制器的webconfig中读取该值。将该值注入视图,然后使用jquery检索该值。那就是我接近它的方式。我会把它放在appsettings元素中。这里显示了如何从您的webconfig中获取。 https://msdn.microsoft.com/en-us/library/610xe886.aspx ,然后我将使用viewbag将其插入到视图中。