在 web.config 中指定配置源时如何为 SqlDataSource 设置 ConnectionString

Eff*_*ave 1 asp.net configuration-files

我希望能够快速创建一些没有代码隐藏文件的简单 ASP.NET 报告。每个报表都是一个 aspx 文件,其中可能有多个 SqlDataSource 控件。我希望能够使用 <%$ ConnectionStrings:MyTag %> 语法来设置连接字符串,但是,我们使用的应用程序在单独的配置文件中具有实际的连接字符串,该文件在 web.config 中使用configSource="App_Data\database.config"。

在后面的代码中,我可以使用以下方法以编程方式访问 ConnectionString:ConfigurationManager.ConnectionStrings["AbleCommerce"].ConnectionString

但是我们如何在不使用后面的代码的情况下设置连接字符串呢?

Nae*_*raz 5

您已经提到了问题中的答案,如果您的连接字符串是在外部文件中定义的,我猜该文件的内容将如下所示:

<connectionStrings>
    <add name="AbleCommerce" 
        connectionString="..." 
        providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

您将在您的 aspx 页面中使用

<asp:sqldatasource id="SqlDataSource1" runat="server" 
    connectionstring="<%$ ConnectionStrings:AbleCommerce %>" 
    selectcommand="SELECT * FROM [tProducts]"></asp:sqldatasource>
Run Code Online (Sandbox Code Playgroud)