如何在dot net的aspx页面上使用声明的变量

时间:2014-02-19 06:54:41

标签: c# asp.net visual-studio web-config sqlconnection

抱歉,如果这是一个虚拟问题,但它确实让我感到非常震惊。

我在web.conf中设置了连接字符串

<appSettings>
<add key="DBHost" value="myserver.com"></add>
<add key="DBName" value="myDBName"></add>
<add key="DBLogin" value="myDBLogin"></add>
<add key="DBPassword" value="myDBPass"></add>
<!--DBTrustedConnection: true then Connection string will be used else user and password is required-->
<add key="DBTrustedConnection" value="true"></add> 
<add key="DBConnectionString" value="Data source=.\sqlexpress; Initial Catalog=DQMF; Integrated Security=True"></add>
.....other settings
</appSettings>

这是我正在尝试使用的代码

 <form id="form1" runat="server">
    <% string con=""; 
       if(System.Configuration.ConfigurationManager.AppSettings.Get("DBTrustedConnection").Equals("true"))
           con = System.Configuration.ConfigurationManager.AppSettings.Get("DBConnectionString");
       else { 
           string DBHost = System.Configuration.ConfigurationManager.AppSettings.Get("DBHost");
           string DBName = System.Configuration.ConfigurationManager.AppSettings.Get("DBName");
           string DBLogin = System.Configuration.ConfigurationManager.AppSettings.Get("DBLogin");
           string DBPassword = System.Configuration.ConfigurationManager.AppSettings.Get("DBPassword");
           con = "Data Source=" + DBHost + ";Initial Catalog=" + DBName + ";User ID=" + DBLogin + ";Password=" + DBPassword + ";";
       }
      %>
    <asp:SqlDataSource runat="server" ConnectionString="<%=con %>??? How to use con variable here" SelectCommand="SELECT COMMAND" ID="SqlDataSource1"></asp:SqlDataSource>

这里的问题是我无法使用con变量。请帮助我或建议一些其他方式,因为我是asp的新手

2 个答案:

答案 0 :(得分:1)

在Web.Config中,有一个标记,如果不存在,则在</appSettings>之后添加它:

</appSettings>
<connectionStrings>
     <add name="name" connectionString="Data source=.\sqlexpress; Initial Catalog=DQMF; Integrated Security=True"/>
</connectionStrings>

要获取连接字符串,请使用以下代码(在某些事件中使用Code Behind,如Page_Load):

protected void Page_Load(object sender, EventArgs e)
{
    string connectionString = 

    System.Configuration.ConfigurationManager.ConnectionStrings["name"].ConnectionString;

    if(!string.IsNullOrEmpty(connectionString))
    {
         //Use it here...
         SqlDataSource1.ConnectionString = connectionString;
    }
}

答案 1 :(得分:0)

将代码移到后面的代码中,然后将您的连接字符串传递给datasource

相关问题