【问题标题】:AutoFill causing error on AspNet Cascading DropDownList自动填充导致 AspNet Cascading DropDownList 上的错误
【发布时间】: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


    【解决方案1】:

    如果您可以关闭整个页面的自动完成功能。在您的父页面 Page_Load 事件中使用以下内容。 WebForms 中的默认名称是“form1”。只需将 form1 更改为您的页面用于 ID 标记的 ID。

    C# form1.Attributes.Add("autocomplete", "off");

    VB.NET form1.Attributes.Add("autocomplete", "off")

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-25
      • 2016-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多