5

我有我在下面定义的数据库<appSettings>连接web.comfig

<appSettings>
    <add key="ConnStr" 
         value="Data Source=dsk-159\SQLEXPRESS;Initial Catalog=master;Integrated Security=True"/>
</appSettings>

但问题是我无法从我的 aspx 页面访问它,因为我正在尝试这样

<asp:SqlDataSource ID="SqlDataSource2" runat="server" 
     ConnectionString="<%$ ConnectionStrings:goldsConnectionString %>"
     SelectCommand="SELECT distinct TechnologyId , [TechnologyName], [ChildId] FROM [TreeTable] where childid is null AND technologyid in(@hid1)">
     <SelectParameters>
         <asp:ControlParameter ControlID="hid1" Name="hid1" DefaultValue="23" />
     </SelectParameters>

代替<connectionStrings>我想定义它<appSettings>

请告诉正确的语法。

4

4 回答 4

5

你知道你可以在后面的代码中设置连接字符串而不是内联,它更干净。

SqlDataSource2.ConnectionString = 
System.Configuration.ConfigurationManager.AppSettings["ConnStr"];

考虑阅读ConfigurationManger.AppSettings

于 2013-04-24T08:47:52.357 回答
4

您的 web.config 应该如下所示:

<appSettings>
<add key="ConnStr" value="Server=yourservername;Database=yourdatabasename;UID=yourusername;Password=youruserpassword"/>
</appSettings>

您的 .aspx 文件应如下所示:

<asp:GridView ID="grd" runat="server" DataSourceID="SqlDataSource2">
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ appSettings:ConnStr %>" SelectCommand="SELECT * FROM ticketmaster"></asp:SqlDataSource>
于 2013-04-24T09:15:17.173 回答
1

尝试将 aspx 部分更改为:

<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:ConnStr %>" SelectCommand="SELECT distinct TechnologyId , [TechnologyName], [ChildId] FROM [TreeTable] where childid is null AND technologyid in(@hid1)">
<SelectParameters>
<asp:ControlParameter ControlID="hid1" Name="hid1" DefaultValue="23" />
</SelectParameters>

我做了两件事:

  1. 删除了标签。
  2. 更改了连接字符串名称以匹配 web.config 中的名称
    (goldsConnectionString-->ConnStr)
于 2013-04-24T08:52:16.473 回答
0

您可以在代码隐藏页面中设置连接字符串

SqlDataSource2.ConnectionString =
System.Configuration.ConfigurationManager.AppSttings["ConnStr"];
于 2013-04-24T11:26:03.443 回答