2012-06-28 43 views
0

我的項目目前通過後面的代碼將用戶控件添加到Web表單中。用代碼塊添加用戶控件,代碼不在後面

For Each p In userlist 
      Dim uc1 As New TimeSelector 

      panel.Controls.Add(New LiteralControl("<asp:panel1 runat=" & "server" & ">")) 
      panel.Controls.Add(New LiteralControl(p.ToString)) 
      panel.Controls.Add(New LiteralControl("<asp:Updatepanel1 runat=" & "server" & ">")) 
      uc1 = DirectCast(Page.LoadControl("~/UserControls/StaffScheduling/TimeSelector.ascx"), UserControl) 
      uc1.ID = "UC" & j 
      panel.Controls.Add(uc1) 
      panel.Controls.Add(New LiteralControl("</asp:Updatepanel1>")) 
      panel.Controls.Add(New LiteralControl("</asp:panel1>")) 
      panel.Controls.Add(New LiteralControl("<p></p>")) 
      j += 1 
     Next 

有沒有更好的方法來將用戶控件添加到其他代碼背後的Web窗體?我採取了最好的方法?

問候

+0

爲什麼不嘗試在設計器(.aspx文件)中放入相應的代碼並查看它是否有效? – mortb

回答

0

如果沒有最高,你需要添加用戶控件,爲什麼不能在標記然後加入?

爲什麼你問?

  1. 人們經常會遇到與usercontrols沒有顯示的問題。
  2. Usercontrols事件沒有被觸發,因爲usercontrols不存在於標記中而是動態生成。
  3. 速度(頁面大小)沒有區別。根據您的需要,您可以切換可視性。
  4. 更清潔,優雅的解決方案。

坦率地說,您應該使用這種方法來避免由於您的方法而產生的諸多麻煩。

+0

這是一個不同數量的控件,取決於用戶列表通過實體框架查詢返回。我的問題是每個控件在選擇時都有14個組合框,並插入或更新到數據庫。我努力完成查詢,因爲控件無法看到用戶列表,因爲它在主aspx文件的外部。 – user1488692

+0

爲什麼不能有一個最大的號碼。的控件和下一個按鈕來顯示下一組結果?我用我自己的項目做了。 –

+0

每個用戶控件組合框都是一個組件wijmo:C1ComboBox – user1488692

相關問題