从组合框选择的索引更改填充ASP.NET文本框

从组合框选择的索引更改填充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

我对ASP.NET很陌生

我有一个带有AJAX组合框和文本框的ASP.NET页面。组合框从数据库中填充,其值为ID并显示Name。文本框应显示地址。我只想在名称组合框上的索引更改时更改地址文本框中的值。 然后可以更改地址并将其保存回数据库。 我如何完成这个(简单的?)任务

代码到目前为止

<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>