2017-02-07 12 views
0

私は自分自身をよりよく説明しようとします。コードの背後にあるAsp.net/vb要素がHTMLでレンダリングされません

私は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に表示するにはどうすればよいですか?事前に

Rendered HTML

おかげで、この新しいイム。私はたくさんのグーグルを探せましたが、答えは見つけられません。

+1

に追加検証可能な例](http://stackoverflow.com/help/mcve)?ここでは、コントロールを動的に追加している場合、または単にHTMLで文字列として作成している場合のみ推測することができます。 – VDWWD

+0

ああああ!私は忘れた、私はその情報で投稿を編集します。私の悪い。 – kamiyann

+1

完全にレンダリングされたHTMLとCSSを投稿するかもしれませんか?それはマークアップの問題かもしれないし、CSSやスクリプトの問題かもしれない。 –

答えて

1

あなたがしていることは決してうまくいかないでしょう。文字列としてasp:controlsを作成し、それらをページに追加しています。したがって、彼らはタグ<asp:を理解していないので、ブラウザにも表示されません。

OPTION 1

html文字列に "本物" のDropDownListを作成し、ページ上のものを置きます。

​​

コードは、あなたが何ができるか

Dim html As String = "<select name=""ddlGender"" id=""ddlGender""><option value=""1"">Item 1</option><option value=""2"">Item 2</option></select>" 

OPTION 2(最良の選択)

の背後に直接aspxページ上のコントロールの場所で、その後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)) 

OPTION 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 
+0

ありがとう!悲しいことに、私は動的に "html"文字列を持つカードを生成しているので、それらの中にドロップダウンリストが必要です。 aspxのページで私は多くのコードを持っていない。 とにかく、あなたの偉大な答えのおかげですね、html要素を使用することを考えています(ドロップダウンまたは選択)。あなたは、選択された(動的に生成された)選択された値をコードの背後に得ることが可能になると思いますか? 私のコードを読んで状況を理解しているからです。 おかげさまで、あなたのような人々はインターネットをすばらしい場所にしています。 – kamiyann

関連する問題