3

次のコンパイルエラーが発生します。

パーサーエラーメッセージ:「asp:ListItem」の「Text」プロパティは子オブジェクトを許可していません。

ソースエラー:

Line 468: </asp:ListItem>
Line 469: <asp:ListItem Value="3">
Line 470: Search only continuing stories with at least&nbsp; <input runat="server" id="episodetb" Value="0" style="width:50px" />
Line 471: episodes
Line 472: </asp:ListItem>

私の元のコードがこのような場合:

< asp:RadioButtonList ID="ContStoryRadioButtonList" DataTextFormatString=" {0}" CellPadding="2" runat="server">
<asp:ListItem Value="0">
Search singular and continuing stories
</asp:ListItem>
<asp:ListItem Value="1">
Search only singular stories
</asp:ListItem>
<asp:ListItem Value="2">
Search only continuing stories
</asp:ListItem>
<asp:ListItem Value="3">
Search only continuing stories with at least&nbsp; <input runat="server" id="episodetb" Value="0" style="width:50px" />
episodes
</asp:ListItem>
</asp:RadioButtonList >

これを手伝ってください。事前にt​​hx

4

5 に答える 5

3

残念ながら、ListItemオブジェクトには子コントロールがありません。同様のことを行う独自のコントロールを作成できます。基本的には、サブアイテムを含む<ul>タグを作成するだけです。<li/>

于 2010-09-16T21:23:54.317 に答える
1

これは、リテラルコントロールを使用し、パネルまたはプレースホルダーにコントロールを追加して作成できます。

VB

Dim list_startul as New Literal
list_startul.text = "<ul>"

Dim list_li as New Literal
lisstt_li.text = "<li><label>Hello!</label></li>"

Dim list_endul as New Literal
list_endul.text = "</ul>"

panel.controls.add(list_startul)
panel.controls.add(list_li)
panel.controls.add(list_endul)
于 2011-02-18T21:25:27.580 に答える
1

ListItem内にサーバーコントロールを設定することはできません。RadioButtonListの横にテキストコントロールを配置して偽造することも、独自のコントロールを作成することもできます。

于 2010-09-16T21:27:54.403 に答える
0

にHTMLを含めることはできませんListItem。それだけです。別々のラジオボタンで物を作る必要があります。

于 2010-09-16T21:23:04.113 に答える
0

回避策の1つは、runat="server"を入力コントロールから外すことです。そこにクライアント側のコントロールを含めることができます(パーサーが提案しない場合もあります)。jQueryを使用して入力コントロールのキーアップをキャプチャし、テキストボックスの値をサーバーの非表示フィールドに保存します。

<asp:RadioButtonList ID="Services" runat="server">
    <asp:ListItem Text="Option 1" Value="1">
        Enter data:  <input id="test" type="text"/>
    </asp:ListItem>
<%--(...more listitems)--%>
</asp:RadioButtonList>
<asp:HiddenField ID="NewValue" runat="server />

JQuery-

$('#test').keyup(function() {
    $('#<%=NewValue.ClientID%>').val(this.value);
});
于 2017-11-28T00:07:43.593 に答える