ASP.NET Textbox DropDownExtender
Wie man den Wert aus der dropdown-Liste zurückkehren, um die TextBox?
Der folgende Code funktioniert nicht. Sie können wählen Sie das Element aus der Liste obwohl.
<body>
<form id="form1" runat="server">
<script type="text/javascript">
function pageLoad() {
//Same Width
$get('ListBox1').style.width = $get('TextBox1').clientWidth;
}
</script>
<ajax:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</ajax:ToolkitScriptManager>
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<ajax:DropDownExtender ID="TextBox1_DropDownExtender" DropDownControlID="ListBox1"
runat="server" DynamicServicePath="" Enabled="True" TargetControlID="TextBox1"
HighlightBackColor="WhiteSmoke">
</ajax:DropDownExtender>
</div>
<asp:ListBox ID="ListBox1" runat="server" AutoPostBack="True">
<asp:ListItem>Item 1</asp:ListItem>
<asp:ListItem>Item 2</asp:ListItem>
<asp:ListItem>Item 3</asp:ListItem>
</asp:ListBox>
</form>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die ausgewählten Elements text in das Textfeld ein, wenn Sie fügen Sie einen Ereignishandler für das ListBox das SelectedIndexChanged-Ereignis:
Markup:
Code:
Aber das könnte wirklich problematisch zu verwalten, wenn Sie eine Reihe von Textfeldern, Extender und Listboxen auf der Seite, so möchten Sie vielleicht zu prüfen, die Verpackung der TextBox, Extender und ListBox alle zusammen in ein UserControl.
Werden Sie wollen, verdrahten Sie die onchange-Ereignis ListItem zum aufrufen einer JavaScript-Methode ruft den text aus dem Element, das ausgewählt wurde. Ihren JavaScript-code würde in etwa so Aussehen (nicht getestet):
Dann verbinden Sie Ihre ListBox-Steuerelement entsprechend. Beachten Sie, dass Sie nicht mehr benötigen, die AutoPostBack-option, da JavaScript Handhabung-Einstellung der text.