2012-08-31 156 views
1

在我的C#代码,我使用了一个连接字符串是这样的:困惑的SqlDataSource

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

它不是代码运行,而是个placeholder:,基本上告诉数据源“看在所谓的ConnectionStrings的配置块的配置文件,如果你发现它采取从元素的值与主要myconnectionstring”

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

记得添加您的ConnectionString在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

+0

谢谢,它使用'AppSettings:myconnectionstring'工作。 – oshirowanen