2012-08-31 88 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