从组合框选择的索引更改填充ASP.NET文本框
我对ASP.NET很陌生 我有一个带有AJAX组合框和文本框的ASP.NET页面。组合框从数据库中填充,其值为ID并显示Name。文本框应显示地址。我只想在名称组合框上的索引更改时更改地址文本框中的值。 然后可以更改地址并将其保存回数据库。 我如何完成这个(简单的?)任务 代码到目前为止从组合框选择的索引更改填充ASP.NET文本框,asp.net,Asp.net,我对ASP.NET很陌生 我有一个带有AJAX组合框和文本框的ASP.NET页面。组合框从数据库中填充,其值为ID并显示Name。文本框应显示地址。我只想在名称组合框上的索引更改时更改地址文本框中的值。 然后可以更改地址并将其保存回数据库。 我如何完成这个(简单的?)任务 代码到目前为止 <form id="form1" runat="server"> <div> <asp:ComboBox ID="ComboBox1" runat="ser
<form id="form1" runat="server">
<div>
<asp:ComboBox ID="ComboBox1" runat="server" DataSourceID="AccessDataSource1" DataTextField="CompositeName"
DataValueField="Id" MaxLength="0" Style="display: inline;"
AutoCompleteMode="SuggestAppend"
onselectedindexchanged="ComboBox1_SelectedIndexChanged">
</asp:ComboBox>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/StudentDB.accdb"
SelectCommand="SELECT [Id], [Name], [Address] FROM [tblStudents]">
</asp:AccessDataSource>
</div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</form>
在组合框中1\u选择了索引更改事件。设置TextBox1.Text=CurrentAddress变量。 实际上,我不太喜欢直接在asp中使用绑定命令 我将创建一个名为LoadMyComboBox()的子对象,它将在Page_Load()事件中触发
我假设您将有一个按钮或某种类型的事件,将被激发来执行您的更新?在这里改变文本会有点过分。添加一个更新按钮,然后在代码隐藏中生成更新命令将处理您的更新。更新完成后,您只需再次调用LoadMyComboBox()来刷新组合框,以刷新任何必要的更改,并在此时对文本框执行任何操作。u可以通过使用下拉列表本身来完成此操作。在DropDownList的SelectedIndexChanged事件中,根据DropDownList的选择将地址绑定到TextBox控件,并将其作为参数传递并保存在数据库中。尝试使用以下标记。我使用了DropDownList,它可以被AJAX组合框取代。 可以使用CSS和ItemTemplate进一步增强DetailsView。 您可以在ItemTemplate中添加更多字段,如城市、国家等
<asp:AccessDataSource DataFile="App_Data/Students.accdb" ID="AccessDataSource1"
DataSourceMode='DataSet' SelectCommand='Select ID, [First Name], [Last Name] from Students'
runat='server' >
</asp:AccessDataSource>
<asp:AccessDataSource DataFile="App_Data/Students.accdb" ID="AccessDataSource2"
SelectCommandType="Text" SelectCommand='Select [ID], [Address] from [Students] where ID=@id'
runat='server'>
<SelectParameters>
<asp:ControlParameter ControlID='DropDownList1' Name='id'/>
</SelectParameters>
</asp:AccessDataSource>
<asp:DropDownList ID='DropDownList1' runat='server' AutoPostBack='true' DataSourceID='AccessDataSource1'
DataTextField="First Name" DataValueField='ID'>
</asp:DropDownList>
<asp:DetailsView ID='DetailsView' runat="server" DataSourceID='AccessDataSource2' DataKeyNames='ID'>
<Fields>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID='AddressTextBox' runat='server' Text='<%# Bind("Address") %>'></asp:TextBox>
<asp:Button ID='AddressSaveButton' runat='server' Text='Save' UseSubmitBehavior='true' />
</ItemTemplate>
</asp:TemplateField>
</Fields>
</asp:DetailsView>