使用老式 ASP.NET / C# 后端和 web.config - 我需要一个动态连接字符串

问题描述 投票:0回答:1
c# asp.net sql-server connection-string code-behind
1个回答
0
投票

string.Format()
计划很好,只要您不允许用户为此输入任意文本即可。问题就是所谓的“蜂蜇”:

<%#

这意味着使用数据绑定,类似于

Eval()
表达式,并且像其他蜜蜂蜇伤一样,在页面生命周期中发生得太晚了。

相反,您需要完全省略

ConnectionString
文件中的
.aspx
属性,并将数据源的连接字符串设置为后面代码的一部分。


因此,如果您当前有这样的数据源:

<asp:sqldatasource id="SqlDataSource1"
  SelectCommand="SELECT ... FROM ..."
  ConnectionString="<%$ ConnectionStrings:ConvMapping.Properties.Settings.codes %>" 
  runat="server"/>

您可以完全删除该属性:

<asp:sqldatasource id="SqlDataSource1"
  SelectCommand="SELECT ... FROM ..."
  runat="server"/>

然后您的页面加载将包括以下内容:

SqlDataSource1.ConnectionString =  string.Format(Properties.Settings.Default.codes, Request.QueryString["County"]);
© www.soinside.com 2019 - 2024. All rights reserved.