0

我的 asp 页面中有一个复选框。一旦我点击它,页面就会显示 ( visible = true) 一个表 id='xx'。该表有两行。一个下拉列表和一个标签。

   <table>
        <tr>
            <td colspan='2'>
                <asp:CheckBox runat="server" ID="CheckBox1" Text="check" Checked="true" AutoPostBack="true"
                    OnCheckedChanged="CheckBox1_CheckedChanged" />
                <table id='xx' runat="server">
                    <tr>
                        <td colspan='2'>
                            Student Information :
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <asp:Label ID="Label1" runat="server" Text="Select Student name :"></asp:Label>
                        </td>
                        <td>
                            <asp:DropDownList ID="DropDownList1" runat="server" Width="200px">
                            </asp:DropDownList>
                        </td>
                    </tr>

                    <tr>
                        <td>
                            <asp:Label ID="Label1" runat="server" Text="Select Student name :"></asp:Label>
                        </td>
                        <td>
                            <asp:Label ID="Label2" runat="server" Text=""></asp:Label>
                        </td>
                    </tr>
                </table>
            </td>
        </tr>
    </table>

    protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
    {
        this.xx.Visible = CheckBox1.Checked;
    }

一旦用户更改选择的下拉值标签值应该改变。例如:如果用户在下拉菜单中选择“城市” Label2.text = Dropdown.selectedvalue

AutoPostBack="true"在回发时使用了所有复选框控件和下拉。

问题场景:

  1. 用户勾选复选框
  2. 页面可见 Table id='xx'
  3. 用户更改下拉选择的值。
  4. 该页面称为回发并刷新该页面。
  5. 可见表再次不可见。

请帮助我在 label2 上显示更改值,一旦用户更改了 Drop down 上的值而不显示表格。

谢谢你。

4

3 回答 3

0

尝试这个。您需要在 DropDownList 中设置 AutoPostBack=True。

aspx:

<table id='xx' runat="server">
    <tr>
        <td colspan='2'>
            Student Information :
        </td>
    </tr>
    <tr>
        <td>
            <asp:Label ID="Label1" runat="server" Text="Select Student name :"></asp:Label>
        </td>
        <td>
            <asp:DropDownList ID="DropDownList1" runat="server" Width="200px" 
                AutoPostBack="true" onselectedindexchanged="DropDownList1_SelectedIndexChanged">
                <asp:ListItem Value="city1" Text="city1"></asp:ListItem>
                <asp:ListItem Value="city2" Text="city2"></asp:ListItem>
            </asp:DropDownList>
        </td>
    </tr>
    <tr>
        <td>
            <asp:Label ID="Label3" runat="server" Text="Select Student name :"></asp:Label>
        </td>
        <td>
            <asp:Label ID="Label2" runat="server" Text=""></asp:Label>
        </td>
    </tr>
</table>

后面的代码:

protected void Page_Load(object sender, EventArgs e)
{
}
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
    this.xx.Visible = CheckBox1.Checked;
}

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    this.Label2.Text = this.DropDownList1.Text;
}
于 2012-05-26T07:07:38.683 回答
0

在您的 Page_Load 事件上执行此操作:

this.xx.Visible = CheckBox1.Checked;
于 2012-05-26T06:34:53.687 回答
0

用这个

    protected void Page_Load(object sender, EventArgs e)
    {
       if(!IsPostback)
       {
         this.xx.Visible = CheckBox1.Checked;
       }
    }
于 2012-05-26T08:40:49.647 回答