我会尝试更好地解释自己。
我的asp.net vb中存在这个问题,在我生成html内容的代码中,数据从数据库中提取。
问题来自于我必须生成一个asp元素(比方说,一个asp按钮或一个asp下拉列表),问题是asp元素在html代码中生成。但它们没有显示,按钮和下拉列表是不可见的,如果我按F12代码就在那里。
这是代码即时生成:
在aspx页面中我有这个:
<div id="tarjetas" runat="server"></div>
然后在代码背后我有这个:
html = "<div class='col-lg-3'> <div class='panel panel-default'> <div class='panel-heading' style=' background-color: #1c72dc; '>Nº: " & id_ticket.ToString & " - " & Urgente.ToString & " </div> <!-- /.panel-heading --> <div class='panel-body'> <div class='row'> <div class='col-lg-12 col-lg-12'> <div class='thumbnail' style='background-color:rgba(60, 88, 188, 0.15); border-color: red;'> <div class='caption'> <h2>DIR: " & Calle_Numero.ToString & "</h2> <h4>ED: " & Nombre_Edificio.ToString & "</h4> <h4>TIPO: " & Tipo_Urgente.ToString & "</h4> <h4>TEL: " & Tel_Contacto.ToString & "</h4> <h5>DETALLE: " & Detalle_Problema.ToString & "</h5> <p style='text-align: center;'> <asp:DropDownList ID='ddlGender' runat='server' Width='200px'> <asp:ListItem Text='Select Gender' Value='0'></asp:ListItem> <asp:ListItem Text='Male' Value='1'></asp:ListItem> <asp:ListItem Text='Female' Value='2'></asp:ListItem> </asp:DropDownList> </p> <p style='text-align: center;'> </p> </div> </div> </div> </div> </div> </div> </div>
来自背后的代码。然后我做
Label.Text = html
tarjetas.Controls.Add(Label)
如何让按钮(特别是下拉列表)显示在aspx中?
先谢谢,我是新手。我搜索了很多,但无法找到答案。
答案 0 :(得分:1)
你在做什么永远不会工作。您正在将asp:controls
创建为字符串并将其添加到页面中。因此,它们甚至不会显示在浏览器中,因为它们不了解标记<asp:
。
选项1
创建&#34;真实&#34; DropDownList在html
字符串中并放在页面上。
<select name="ddlGender" id="ddlGender">
<option value="1">Item 1</option>
<option value="2">Item 2</option>
</select>
背后的代码
Dim html As String = "<select name=""ddlGender"" id=""ddlGender""><option value=""1"">Item 1</option><option value=""2"">Item 2</option></select>"
选项2 (最佳选择)
你可以做的是直接在aspx页面上放置一个Control,然后用ListItems
填充它,无论是在代码后面还是在页面本身上。
<asp:DropDownList ID="ddlGender" runat="server">
<asp:ListItem Text="Item 1" Value="1"></asp:ListItem>
<asp:ListItem Text="Item 2" Value="2"></asp:ListItem>
</asp:DropDownList>
代码背后。
ddlGender.DataSource = mySource
ddlGender.DataTextField = "textField"
ddlGender.DataValueField = "valueField"
ddlGender.DataBind
//or
ddlGender.Items.Insert(0, New ListItem(("Item 1 - " + i), ("1-" + i.ToString), true))
ddlGender.Items.Insert(1, New ListItem(("Item 2 - " + i), ("2-" + i.ToString), true))
选项3 (最复杂)
在代码后面动态创建控件并将其添加到PlaceHolder
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim i As Integer = 0
Do While (i < 5)
Dim ddl As DropDownList = New DropDownList
ddl.ID = ("ddlGender_" + i)
ddl.Items.Insert(0, New ListItem(("Item 1 - " + i), ("1-" + i.ToString), true))
ddl.Items.Insert(1, New ListItem(("Item 2 - " + i), ("2-" + i.ToString), true))
PlaceHolder1.Controls.Add(ddl)
i = (i + 1)
Loop
End Sub