选中复选框和Ajax AsyncPostBackTrigger无法正常工作

时间:2016-02-26 06:11:16

标签: c# asp.net .net ajax

我有一个复选框,用于选择"不重要"如果用户不想按年龄标准进行搜索。

这是aspx文件中的代码。

                <asp:UpdatePanel ID="updPanel" runat="server"  UpdateMode="Conditional">
                    <ContentTemplate>
                        <ul class="menu">
                            <li class="item1">
                                <h3 class="m_2">Sex </h3>
                                <ul class="cute">
                                    <li>
                                        <asp:DropDownList ID="ddlSex" runat="server" OnSelectedIndexChanged="ddlSex_SelectedIndexChanged" AutoPostBack="true">
                                            <asp:ListItem Text="Male" Value="0"></asp:ListItem>
                                            <asp:ListItem Text="Female" Value="1"></asp:ListItem>
                                        </asp:DropDownList>
                                    </li>
                                </ul>
                            </li>
                            <li class="item1">
                                <h3 class="m_2">Marital Status </h3>
                                <ul class="cute">
                                    <li>
                                        <asp:DropDownList ID="ddlMaritalStatus" runat="server">
                                            <asp:ListItem Text="Doesn't Matter" Value="-1"></asp:ListItem>
                                            <asp:ListItem Text="Single" Value="0"></asp:ListItem>
                                            <asp:ListItem Text="Divorced" Value="1"></asp:ListItem>
                                            <asp:ListItem Text="Separated" Value="2"></asp:ListItem>
                                            <asp:ListItem Text="Widowed" Value="3"></asp:ListItem>
                                        </asp:DropDownList>
                                    </li>
                                </ul>
                            </li>
                            <li class="item1">
                                <h3 class="m_2">Age </h3>
                                <ul class="cute">
                                    <li>
                                        <table>
                                            <tr>
                                                <asp:CheckBox ID="chkbAge" runat="server" Text="Doesn't Matter" Checked="true"
                                                    OnCheckedChanged="chkbAge_CheckedChanged" AutoPostBack="true"/>
                                            </tr>
                                            <tr>
                                                <td>From&nbsp;&nbsp;
                                                </td>
                                                <td>
                                                    <asp:TextBox ID="txtFromAge" runat="server" Enabled="false" OnTextChanged="txtFromAge_TextChanged" AutoPostBack="true"></asp:TextBox>
                                                    <asp:SliderExtender ID="txtFromAge_SliderExtender"  runat="server" Maximum="49" Minimum="21"
                                                        BoundControlID="txtShowFromAge" TargetControlID="txtFromAge">
                                                    </asp:SliderExtender>
                                                </td>
                                                <td>&nbsp;</td>
                                                <td>
                                                    <asp:TextBox ID="txtShowFromAge" runat="server" Enabled="false" CssClass="form-text inline" Width="50px"></asp:TextBox>
                                                </td>
                                            </tr>
                                            <tr>
                                                <td>To&nbsp;
                                                </td>
                                                <td>
                                                    <asp:TextBox ID="txtToAge" runat="server" Enabled="false"></asp:TextBox>
                                                    <asp:SliderExtender ID="txtToAge_SliderExtender" runat="server" Maximum="50" Minimum="22"
                                                        BoundControlID="txtShowToAge" TargetControlID="txtToAge">
                                                    </asp:SliderExtender>
                                                </td>
                                                <td>&nbsp;</td>
                                                <td>
                                                    <asp:TextBox ID="txtShowToAge" runat="server" Enabled="false" CssClass="form-text inline" Width="50px"></asp:TextBox>
                                                    &nbsp;years
                                                </td>
                                            </tr>
                                        </table>
                                    </li>
                                </ul>
                            </li>
                            <li class="item1">
                                <h3 class="m_2">Located in </h3>
                                <ul class="cute">
                                    <li>
                                        <asp:DropDownList ID="ddlBirthState" runat="server">
                                            <asp:ListItem Text="Doesn't Matter" Value="-1"></asp:ListItem>
                                            <asp:ListItem Text="West Bengal" Value="0"></asp:ListItem>
                                        </asp:DropDownList>
                                    </li>
                                </ul>
                            </li>
                    </ContentTemplate>
                    <Triggers>
                        <asp:AsyncPostBackTrigger ControlID="ddlSex" EventName="SelectedIndexChanged" />
                        <asp:AsyncPostBackTrigger ControlID="txtFromAge" EventName="TextChanged" />
                        <asp:AsyncPostBackTrigger ControlID="chkbAge" EventName="CheckedChanged" />
                    </Triggers>
                </asp:UpdatePanel>

在cs文件中我有以下事件。

 protected void txtFromAge_TextChanged(object sender, EventArgs e)
    {
        txtToAge_SliderExtender.Minimum = (Convert.ToInt32(txtFromAge.Text) + 1);
    }

    protected void ddlSex_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (ddlSex.SelectedItem.Text == "Male")
        {
            txtFromAge_SliderExtender.Minimum = 21;
        }
        else
        {
            txtFromAge_SliderExtender.Minimum = 18;
        }

    }

    protected void chkbAge_CheckedChanged(object sender, EventArgs e)
    {
        txtFromAge.Enabled = !chkbAge.Checked;
        txtShowFromAge.Enabled = !chkbAge.Checked;
        txtToAge.Enabled = !chkbAge.Checked;
        txtShowToAge.Enabled = !chkbAge.Checked;

    }

我做错了什么? 在运行上面的页面。默认情况下取消选中Checkbox chkbAge,但我使用了checked =&#34; true&#34; 。也。文本框,2为滑块,2为显示值,不会被禁用。 没有显示YSOD(黄色死亡屏幕)。

0 个答案:

没有答案