【发布时间】:2021-07-26 21:55:27
【问题描述】:
大家。我有一个页面,它在 asp:UpdatePanel(UP) 中有一个表单。该表单具有名称、地址、电话、...字段(asp:TextBox)。但是 City 和 State 是 asp:DropDownList(DDL) 控件。州 DDL 过滤城市 DDL。当州 DDL 更改时,它会触发 SelectedIndexChanged 事件,这将使 City DDL 仅显示该州城市。当我的浏览器建议(自动填充)以前的数据集时,问题就发生了。如果我接受这个建议,浏览器会填写一些字段和两个 DDL。 State DDL 不会触发 SelectedIndexChanged 事件。当我单击保存按钮时,将触发此事件。该站点似乎持有 SelectedIndexChanged 事件并在表单保存方法之前执行它。但是此时,City DDL SelectedValue 是空的,即使屏幕上显示的是 AutoFill 填充的某个城市。
<asp:ScriptManager ID="ScriptManager" runnat="server" />
<asp:UpdatePanel ID="UpdPanel" runnat="server" >
<asp:Triggers>
<asp:AsyncPostBackTrigger ControlID="stateDDL" EventName="SelectedIndexChanged" />
</asp:Triggers>
<asp:ContentTemplate>
<asp:TextBox ID="nameTxtBox" runnat="server" />
... // other fields
<asp:DropDownList ID="stateDDL" runnat="server" AutoPostBack="true"
OnSelectedIndexChanged="stateDDL_SelectedIndexChanged" />
<asp:DropDownList ID="cityDDL" runnat="server" />
</asp:ContentTemplate>
</asp:UpdatePanel>
Public Sub stateDDL_SelectedIndexChanged(sender As Object, e As EventArgs)
If IsNumeric(stateDDL.SelecteValue) Then
FilterCities(stateDDL.SelectedValue) // Fills cityDDL according to state value
End If
End Sub
【问题讨论】:
标签: asp.net vb.net webforms autofill