2016-04-11 15 views
0

Unten ist ein Code in meiner Aspx-Seite. Ich habe eine aspx Variable namens connect deklariert. Ich möchte es in dem Attribute in meinem SqlDataSource-Steuerelement passiert jedoch Connection erhalte ich einen Fehler in der Seite, die sagt Schlüsselwort nicht unterstützt: ‚<%‘Zugriff auf ASPX-Variable in ASPX-Seite

<% 
    Dim environmentText = Environment.GetEnvironmentVariable("ENVIRONMENT") 
    Dim connString As String = "GymsConnectionString" 

    If Not String.IsNullOrEmpty(environmentText) Then 
     environmentText = environmentText.ToLower().Trim() 
     connString = String.Format("GymsConnectionString_{0}", environmentText) 
    End If 

    Dim connect As String = ConfigurationManager.ConnectionStrings(connString).ToString() 
%> 

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<% 
    =connect %>" 
     SelectCommand="SELECT * FROM [Table1] WHERE ([ColumnID] = @ColumnID)"> 
     <SelectParameters> 
      <asp:SessionParameter Name="Column_ID" Type="Int32" /> 
     </SelectParameters> 
</asp:SqlDataSource> 

Antwort

0

Gerade diese direkt eingestellt. Sie müssen Markup nicht verwenden, um es einzubetten.

SqlDataSource1.ConnectionString = connect 
+0

Hallo Jason, ich Ich bin mir dessen bewusst. Aber die aspx-Seite ruft diese connect-Variable bereits auf. Ich möchte nur über die aspx-Seite arbeiten. Ich möchte es nicht aus dem Code hinterlegen. –

+0

@ Pierro-Makroth Der Name ist Mason, nicht Jason. Dies muss nicht im Code dahinter geschehen, es kann in Ihrem Codeblock gemacht werden, den Sie bereits auf der ASPX-Seite haben. – mason

+0

können Sie bitte den Code hier einfügen? Welche Änderungen müssen für asp vorgenommen werden: SqlDataSource-Steuerelement ConnectionString-Attribut? –

0

Ich hatte es funktioniert.

In der aspx Seite entfernt I die Connection Attribut und auch den Codeblock in der unten stehenden aspx Seite entfernt:

Dim environmentText = Environment.GetEnvironmentVariable ("Umwelt") Dim connString As String = „GymsConnectionString "

Dann hinter dem Code, stelle ich die Steuerverbindungszeichenfolge in Seite-laden:

Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load 
    Dim environmentText = Environment.GetEnvironmentVariable("ENVIRONMENT") 
    Dim connString As String = "GymsConnectionString" 

    If Not String.IsNullOrEmpty(environmentText) Then 
     environmentText = environmentText.ToLower().Trim() 
     connString = String.Format("GymsConnectionString_{0}", environmentText) 
    End If 

    Dim connect As String = ConfigurationManager.ConnectionStrings(connString).ToString() 

    SqlDataSource1.ConnectionString=connect 
    SqlDataSource2.ConnectionString=connect