2016-04-11 5 views
0

Ниже приведен код на моей странице aspx. Я объявил переменную aspx, называемую connect. Я хотел бы передать его в моем контроле SqlDataSource в атрибуте ConnectionString однако, я получаю сообщение об ошибке на странице, которая говорит ключевое слово не поддерживается: «<%»Доступ к переменной ASPX на странице ASPX

<% 
    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> 

ответ

0

Просто сразу установить его. Нет необходимости использовать разметку для ее вставки.

SqlDataSource1.ConnectionString = connect 
+0

Привет Джейсон, я Знаю об этом. Но страница aspx уже вызывает эту переменную connect. Я просто хочу заставить его работать через страницу aspx. Я не хочу устанавливать его из кода. –

+0

@ pierro-makroth Имя Мейсон, а не Джейсон. Это не нужно делать в коде позади, это можно сделать в вашем блоке кода, который у вас уже есть на странице ASPX. – mason

+0

вы можете вставить код здесь? Каковы будут изменения, которые необходимо выполнить для asp: SqlDataSource управляет атрибутом ConnectString? –

0

У меня было это работает.

На странице ASPX, я удалил атрибут ConnectionString, а также удалил блок кода ниже на странице ASPX:

Тусклого environmentText = Environment.GetEnvironmentVariable ("окружающей среда") Тусклого connString As String = «GymsConnectionString "

Затем в коде позади, я установил строку подключения управления в нагрузке Page:

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 
Смежные вопросы