【问题标题】:Change dropdownlist value if checkbox is checked on autopostback ASP.NET如果在自动回发 ASP.NET 上选中复选框,则更改下拉列表值
【发布时间】:2023-03-20 23:32:02
【问题描述】:

如果在我的 Web 应用程序中选中 Checkbox1,我想更改 DropDownList1 的值。

页面加载时 DropDownList1 上的默认值应为“0” 单击 Checkbox1 时,DropDownList1 的值应为“1”

我完成的以下代码会引发运行时错误。

我的 aspx sn-p:

<asp:CheckBox ID="Checkbox1" runat="server" 
                                         class="itemCheck" AutoPostBack="True" CausesValidation="True" />
                                </td>
                                <td >
                                    &nbsp;<asp:DropDownList ID="DropDownList1" runat="server" Height="16px" 
                                        Width="138px">
                                        <asp:ListItem Selected="True">0</asp:ListItem>
                                        <asp:ListItem>1</asp:ListItem>
                                        <asp:ListItem>2</asp:ListItem>
                                        <asp:ListItem>3</asp:ListItem>
                                    </asp:DropDownList>

我的代码隐藏文件:

protected void Page_Load(object sender, EventArgs e)
{
        string val = "1";
        ListItem checkItem = DropDownList1.Items.FindByValue(val);
        if (checkItem != null)
        {
            DropDownList1.ClearSelection();
            checkItem.Selected = true;
        }
}

【问题讨论】:

标签: c# asp.net checkbox postback dropdownlistfor


【解决方案1】:

您的列表项缺少值属性。

<asp:ListItem Value="1">1</asp:ListItem>

【讨论】:

  • 嗨,我添加了列表项的值。运行时错误再次显示。错误状态为 - “Microsoft JScript 运行时错误:无法设置属性‘值’的值:对象为空或未定义”
【解决方案2】:

删除您的 Page_Load 代码并将复选框标记替换为以下标记

  <asp:CheckBox ID="Checkbox1" runat="server" class="itemCheck" AutoPostBack="True" CausesValidation="True" OnCheckedChanged="Checkbox1_CheckedChanged"/>

在这个事件中写下你的逻辑

protected void Checkbox1_CheckedChanged(object sender, EventArgs e)
{
     If (Checkbox1.Checked) DropDownList1.SelectedValue = "1";
     else DropDownList1.SelectedValue = "0";
}

【讨论】:

  • 您好,当我按照您的方法进行操作时,它会引发相同的运行时错误。错误是“Microsoft JScript 运行时错误:无法设置属性‘值’的值:对象为空或未定义”
猜你喜欢
  • 2018-06-17
  • 1970-01-01
  • 2013-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-08
相关资源
最近更新 更多