2017-03-10 15 views
0

m1List。(プロパティ)またはm2List。(プロパティ)を使用せずに、私のaspコードVIA c#コードの背後にあるm1Listおよびm2Listデータリストにアクセスする方法があるかどうかを知りたいと思います。私は新しいDataList()を使用してみましたが、それは私の作成したデータのリストを削除し、新しいものを作成するようです。私のデータリストにアクセスするASP C#

誰でも正しい方向に向けることができますか?ここ

は私のASPコード

<td> 
    <div id="m1" runat="server" class="day"> 
    <a href="?sday=m1" class="btn btn-default btn-sm"> 1 </a> 
    <div class="smalldiv"></div> 
     <asp:DataList ID="m1List" runat="server" DataKeyField="Id"> 
      <ItemTemplate> 
       <div class="full-container"> 
        <label class="col-sm-2 "><%# Eval("time") %></label> 
        <label class="col-sm-6 uk-text-truncate"><%# Eval("program") %></label> 
        <label class="col-sm-4 uk-text-truncate"><%# Eval("channel") %></label> 
       </div> 
      </ItemTemplate> 
     </asp:DataList> 
     <center> 
      <a data-toggle="modal" data-target="#myModal">See More</a> 
     </center> 
    </div> 
</td> 
<td> 
    <div id="m2" runat="server" class="day"> 
     <a href="?sday=m2" class="btn btn-default btn-sm"> 2 </a> 
     <div class="smalldiv"></div> 
     <asp:DataList ID="m2List" runat="server" DataKeyField="Id"> 
      <ItemTemplate> 
       <div class="full-container"> 
        <label class="col-sm-2 "><%# Eval("time") %></label> 
        <label class="col-sm-6 uk-text-truncate"><%# Eval("program") %></label> 
        <label class="col-sm-4 uk-text-truncate"><%# Eval("channel") %></label> 
       </div> 
      </ItemTemplate> 
     </asp:DataList> 
     <center> 
      <a data-toggle="modal" data-target="#myModal">See More</a> 
     </center> 
    </div> 
</td> 

と、ここで私のC#のコードは

bind.datasource = new SqlDataSource(); 
bind.datasource.ID = "SqlDataSource1"; 
this.Page.Controls.Add(bind.datasource); 
bind.datasource.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["tvcomponentsStringConnection"].ConnectionString; 
bind.datasource.SelectCommand = "SELECT * FROM [thisMonth] WHERE [Day] = 'm1'"; 

bind.conn = bind.datasource.ConnectionString; 
bind.con = new SqlConnection(bind.conn); 
bind.con.Open(); 

bind.str = bind.datasource.SelectCommand; 
bind.cmd = new SqlCommand(bind.str, bind.con); 
bind.da = new SqlDataAdapter(bind.cmd); 
bind.ds = new DataSet(); 

bind.da.Fill(bind.ds); 

bind.mlist = new DataList(); 
bind.mlist.ID = "m1List"; 
this.Page.Controls.Add(bind.mlist); 
bind.mlist.DataSource = bind.ds; 
bind.mlist.DataBind(); 
//m1List.DataSource = bind.ds; 
//m1List.DataBind(); 
bind.pds.DataSource = bind.ds.Tables[0].DefaultView; 
bind.pds.AllowPaging = true; 
bind.pds.PageSize = 5; 
//m1List.DataSource = bind.pds; 
//m1List.DataBind(); 
bind.mlist.DataSource = bind.pds; 
bind.mlist.DataBind(); 


bind.con.Close(); 

bind.mlist.AlternatingItemTemplate = Page.LoadTemplate("DynamicData/FieldTemplates/templateData.ascx"); 
+0

は何かを動作していない、またはあなただけの「より良い方法」を探していますか? –

+0

はいMarc、動作していません。コードを実行するとテーブルが表示されません。 私は既に作成したm1Listにアクセスするのではなく、新しいデータリストを作成すると思います。 –

答えて

0

ですとにかく私はちょうどにコントロールを追加するために必要な私のproblem.Iへの答えを見つけているように見えますdiv私のデータ主義者が出て欲しい。私のコードは今のように見える この

C#の

try 
      { 
       for(int i = 0; i < 5; i++) 
       { 
        bind.datasource = new SqlDataSource(); 
        bind.datasource.ID = "SqlDataSource"+(i+1)+""; 
        this.Page.Controls.Add(bind.datasource); 
        bind.datasource.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["tvcomponentsStringConnection"].ConnectionString; 
        bind.datasource.SelectCommand = "SELECT * FROM [thisMonth] WHERE [Day] = 'm" + (i + 1) + "'"; 

        bind.conn = bind.datasource.ConnectionString; 
        bind.con = new SqlConnection(bind.conn); 
        bind.con.Open(); 

        bind.str = bind.datasource.SelectCommand; 
        bind.cmd = new SqlCommand(bind.str, bind.con); 
        bind.da = new SqlDataAdapter(bind.cmd); 
        bind.ds = new DataSet(); 

        bind.da.Fill(bind.ds); 



        bind.mlist = new DataList(); 
        bind.mlist.ID = "m" + (i + 1) + "List"; 

        bind.mlist.ItemTemplate = Page.LoadTemplate("DynamicData/FieldTemplates/templateData.ascx"); 
        bind.mlist.AlternatingItemTemplate = Page.LoadTemplate("DynamicData/FieldTemplates/templateData.ascx"); 

        this.Page.Controls.Add(bind.mlist); 
        bind.mlist.DataSource = bind.ds; 


        bind.mlist.DataBind(); 
        bind.pds = new PagedDataSource(); 
        bind.pds.DataSource = bind.ds.Tables[0].DefaultView; 
        bind.pds.AllowPaging = true; 
        bind.pds.PageSize = 5; 
        bind.mlist.DataSource = bind.pds; 
        bind.mlist.DataBind(); 

        bind.con.Close(); 

        int switche = i + 1; 

        switch(switche) 
        { 
         case 1: 
          m1.Controls.Add(bind.mlist); 
          break; 
         case 2: 
          m2.Controls.Add(bind.mlist); 
          break; 
         case 3: 
          m3.Controls.Add(bind.mlist); 
          break; 
         case 4: 
          m4.Controls.Add(bind.mlist); 
          break; 
         case 5: 
          m5.Controls.Add(bind.mlist); 
          break; 
         default: 
          break; 
        } 

       } 

       //m1.InnerHtml = "<center><a data-toggle='modal' data-target='#myModal'>See More</a></center>"; 


      } 
      catch (Exception ex) 
      { 
       //Response. 
      } 
関連する問題