Asp.net 添加具有代码块而不是代码隐藏的用户控件
我的项目目前通过代码隐藏将用户控件添加到web表单中,例如Asp.net 添加具有代码块而不是代码隐藏的用户控件,asp.net,Asp.net,我的项目目前通过代码隐藏将用户控件添加到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.
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
用户列表中每个p的
将uc1设置为新的时间选择器
panel.Controls.Add(新的LiteralControl(“”)
panel.Controls.Add(新的LiteralControl(p.ToString))
panel.Controls.Add(新的LiteralControl(“”)
uc1=DirectCast(Page.LoadControl(“~/UserControls/StaffScheduling/TimeSelector.ascx”),UserControl)
uc1.ID=“UC”&j
panel.Controls.Add(uc1)
panel.Controls.Add(新的LiteralControl(“”)
panel.Controls.Add(新的LiteralControl(“”)
panel.Controls.Add(新的LiteralControl(“”)
j+=1
下一个
除了代码隐藏之外,有没有更好的方法将用户控件添加到web表单?我是否采取了最好的方法
关于如果需要添加的用户控件最多,为什么不在标记中添加 你为什么问
坦率地说,您应该使用这种方法来避免因您的方法而产生的诸多麻烦。为什么不尝试将该代码的等效代码放入设计器(.aspx文件)中,看看它是否有效?根据用户通过实体框架查询返回的列表,它有不同数量的控件。我的问题是,每个控件在选择DO和insert或update到数据库时都有14个组合框。我正在努力完成查询,因为控件无法看到用户列表,因为它位于主aspx文件之外。为什么不设置最大数量的控件和显示下一组结果的“下一步”按钮?每个用户控件combobox都是一个componet one wijmo:C1ComboBox显示的控件数量没有问题。我无法获得数据库更新/插入工作,因为后面的用户控制代码无法在主aspx页面上看到它们加载到的标记。这是一个完全不同的问题,因此有许多此类问题,搜索SO,您一定会找到解决方案。