代码之家  ›  专栏  ›  技术社区  ›  Iftikhar Ali Ansari

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

  •  0
  • Iftikhar Ali Ansari  · 技术社区  · 10 年前

    很抱歉,如果这是个假问题,但我真的吓坏了。

    我已经在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 回复  |  直到 10 年前
        1
  •  1
  •   Usman Khalid    10 年前

    在Web.Config中,有一个标记,如果不存在,则将其添加到 </appSettings> :

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

    要获取连接字符串,请使用以下代码(在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;
        }
    }
    
        2
  •  0
  •   invernomuto    10 年前

    将您的代码移到代码后面,然后将您的连接字符串传递到数据源