对SqlDataSource感到困惑

时间:2012-08-31 10:41:20

标签: c# .net asp.net-3.5 sqldatasource dataview

在我的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> 

我收到错误说:

  

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

我做错了什么?

1 个答案:

答案 0 :(得分:1)

这不是你在那里运行的代码,而是一个placeholder:,它基本上告诉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>

特别是因为you want to keep them safe