1

在我的 C# 代码中,我使用这样的连接字符串:

connection = new SqlConnection(ConfigurationManager.AppSettings["myconnectionstring"])

效果很好。

我现在正在尝试使用<asp:SqlDataSource控件,但我似乎无法在控件中使用上述连接字符串,如下所示:

<asp:SqlDataSource ID="SqlDataSource1" runat="server"   
ConnectionString="<%$ ConfigurationManager.AppSettings["myconnectionstring"] %>"   
SelectCommand="SELECT * from table1"></asp:SqlDataSource> 

我收到一条错误消息:

解析器错误消息:服务器标记格式不正确。

我究竟做错了什么?

4

1 回答 1

1

它不是你在那里运行的代码,而是一个占位符:它基本上告诉 DataSource '在配置文件中查找一个名为 ConnectionStrings 的配置块,如果你发现它从带有键 myconnectionstring 的元素中获取值'

<asp:SqlDataSource ID="SqlDataSource1" runat="server"    
ConnectionString="<%$ ConnectionStrings:myconnectionstring%>"    
SelectCommand="SELECT * from table1"></asp:SqlDataSource>  

记得在 app.config 部分 ConnectionStrings 中添加您的连接字符串,

<connectionStrings>
  <add name="myconnectionstring" connectionString="server=localhost;database=Northwind;user=north;password=north;" providerName="System.Data.SqlClient" />
</connectionStrings>

特别是因为你想保护他们的安全

于 2012-08-31T10:53:27.287 回答