我可以使用JQuery从web.config读取数据吗?
答案 0 :(得分:15)
Jquery是在您的浏览器中运行的javascript,您的web.config驻留在您的服务器上。如果你想公开web.config中的数据,我认为你应该创建一些你可以从客户端javascript调用的web服务来获取你想要的数据。
如果您能够直接从web.config文件中读取,那么这将是一个主要的安全风险,因为web.config文件通常用于存储连接字符串等敏感信息。
答案 1 :(得分:2)
使用 none aspx / HTML5:
时的最佳解决方案1.在项目根目录
中创建文件"Web.config.js"
(java脚本文件)
2.在HTML文件中添加引用
<script src="Web.config.js" type="text/javascript"></script>
3.添加密钥&amp; val到"Web.config.js"
:
var prmKEY = "myVal"
4.从JQuery访问prmKEY作为全局参数
答案 2 :(得分:1)
您还可以将数据存储为OnPreRender(EventArgs e)
或Page_Load(object sender, EventArgs e)
中的Cookie(如果您使用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");
答案 3 :(得分:0)
不,你不能。
答案 4 :(得分:0)
我找不到任何网络服务的解决方案:
1-构建空的aspx页面,在其中加载从web.config读取数据并使用Response.Write(**)将其写入页面
2-使用JQuery从创建的页面读取结果如下:
$.get
(
"JQueryPage.aspx",
function(result) {
// .. set variable to result and use it
}
};
答案 5 :(得分:0)
答案 6 :(得分:0)
您可以在html上创建带有变量的隐藏文本框,并将配置文件中的值分配给它。为隐藏控件分配一个id,并使用jquery获取它的详细信息。
答案 7 :(得分:0)
I'd assume you could read the value from your webconfig in your controller. Inject that value into your view and then use jQuery to retrieve that value. That would be the way I'd approach it. I'd place it in my appsettings element. Shown here how to get from your webconfig. https://msdn.microsoft.com/en-us/library/610xe886.aspx , then I would inject that into my view using Viewbag.