1

我在一个表中有两列,下拉“ddlModelNumber”取决于“ddlServicerOrg”的选定值。'ddlServicerOrg' 中的数据非常大,所以我不希望每次更改所选项目时都会渲染它。我想根据 'ddlServicerOrg' 中的选定值将数据加载到 'ddlModelNumber' 中,而不使用 jquery:ajax。所以,是 OnChange="_doPostBack('pnlModel','');" 正确的方法?我不希望为“ddlServicerOrg”一次又一次地渲染大量数据。下面是代码。

                <td>
                    <asp:DropDownList ID="ddlServicerOrg" runat="server" DataTextField="ListText" DataValueField="ID"
                        OnInit="ddlServicerOrg_Init" OnDataBound="ddlServicerOrg_DataBound" OnSelectedIndexChanged="ddlServicerOrg_IndexChanged"
                        AutoPostBack="false" AppendDataBoundItems="True" DataSourceID="ServiceLocationOrgODS" OnChange="_doPostBack('pnlModel','');">
                        <asp:ListItem></asp:ListItem>
                    </asp:DropDownList>
                </td>
                <td>
                <asp:UpdatePanel ID="pnlModel" runat="server">
                <ContentTemplate>
                    <asp:DropDownList ID="ddlModelNumber" runat="server" AutoPostBack="false" DataSource='<%# GetServicedModelforServicePartner() %>'
                        DataTextField="Text" DataValueField="Value" AppendDataBoundItems="True" OnInit="ddlModelNumber_Init" OnDataBound="ddlModelNumber_DataBound" Enabled="false">
                        <asp:ListItem></asp:ListItem>
                    </asp:DropDownList>
                    </ContentTemplate>
                    </asp:UpdatePanel>
                </td>
4

1 回答 1

1

你可以用一些 JavaScript 来做到这一点。您可以让组合框的 selectedIndexChanged 将值写入其中的隐藏字段并更新第二个组合框所在的面板。然后强制该面板上的 ajax 回发以更新第二个组合框的内容。一种简单的方法是让您的组合框 selectedindexchanged 事件单击包含第二个组合框的面板中的隐藏按钮。

http://keylimetie.com/blog/2007/12/3/how-to-make-an-ajax-postback-with-javascript/

该链接可以作为做你想做的事的指南。

于 2012-05-24T22:39:38.537 回答