none
Постоянно меняющийся Selectcomand RRS feed

  • Вопрос

  • Добрый вечер!!! есть стандартное  подключение

    <asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1">
           
        </asp:ListView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
            SelectCommand="SELECT * FROM [Table1]"></asp:SqlDataSource>
    

    Как можно изменить selectcomand в зависимости от определенных параметров. во время загрузки страницы
    Что-то делал сам, но не знаю правильно ли, и потом не получатся загрузить данные по новому запросу.

    Dim cs = ConfigurationManager.ConnectionStrings("ConnectionString")
            Dim sc = New SqlConnection(cs.ConnectionString)
            sc.Open()
    
    
    
    
    
            Dim selectCommand As New SqlCommand("SELECT * FROM [Table1] where Name= 'Alex'", sc)
    

    Надеюсь на вашу помощь

    27 января 2012 г. 13:58

Ответы

Все ответы

    • Изменено Anton.Maksimov 27 января 2012 г. 15:31
    • Предложено в качестве ответа Naomi N 27 января 2012 г. 19:53
    • Помечено в качестве ответа Program-s.g 29 января 2012 г. 8:45
    27 января 2012 г. 15:30
  • Спасибо большое за ответ! статью прочитал все стало понятно. Но вот возник другой вопрос. я "готовил" код для aspx.vb ,но теперь нужно написать код для  aspx. В качестве параметра я использую информацию из страниц, а главный код у меня в мастер странице.

    CType(MainContent.FindControl("inform"), Label).Text
    
    Как написать этот код для  aspx?

    27 января 2012 г. 16:31
  • Не понял вопроса :( У вас на MasterPage есть какой-то контрол, из которого данные нужно передать в параметры датасорс, который  находится на странице?

    Из кода можно обращаться к SqlDataSource1 и у него проставлять нужные параметры. В частности это лучше делать по событию Selecting, обращаться к аргументу и выбирать нужные параметры и проставлять их значения.

    27 января 2012 г. 19:43
  • У меня на мастер странице Listview, а  label находится на страницах в maincontent. То есть каждая страница будет показать информация исходя из текста label-а
    28 января 2012 г. 5:39
  • То есть мне нужно что-то такое

    Для мастер странице

    <SelectParameters>
        <asp:Parameter Name="surname" Type="string" DefaultValue=<%=Session("inform")%> " />
      </SelectParameters>
    

     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Session("inform") = CType(MainContent.FindControl("Label1"), Label).Text
        End Sub
    

    Но код для aspx неправильный, как можно использовать в качестве  DefaultValue Session("inform")

     


    • Изменено Program-s.g 28 января 2012 г. 10:50
    28 января 2012 г. 10:49
  • Дефолтное значение параметра вы можете выставить в коде MasterPage.

    Так же можно всегда воспользоваться QueryStringParameter или SessionParameter.

    28 января 2012 г. 13:36
  • Дефолтное значение параметра вы можете выставить в коде MasterPage.

     

    А можно увидеть пример, если не сложно?
    28 января 2012 г. 15:30
  • Page_Load:

    SqlDataSource1.SelectParameters["surname"].DefaultValue = "AbraShvabraKadabra";

    • Помечено в качестве ответа Program-s.g 29 января 2012 г. 8:45
    29 января 2012 г. 8:36