首页 > 解决方案 > 当在 asp 中调用下拉列表 OnSelectedIndexChanged 时,单选按钮 OnCheckedChanged 失去其值

问题描述

我的网页上有一个 2 单选按钮,他们都有像这样的 OnCheckedChanged 事件

 protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
        {
            gender = "Male";
        }

    protected void RadioButton2_CheckedChanged(object sender, EventArgs e)
    {
        gender = "Female";
    }

而且我还有一个下拉列表,其中包含填充另一个 dropdwonlist 的 OnSelectedIndexChanged 事件。

protected void Depid_SelectedIndexChanged(object sender, EventArgs e)
        {
         string id = Depiddrop.SelectedValue.ToString();

            SqlCommand cmd = new SqlCommand("select StaffID, Name from Staff where Depid='" + id + "'", con);
            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            sda.Fill(dt);

             con.Open();
            empiddrop.DataSource = dt;
            empiddrop.DataTextField = "Name";
            empiddrop.DataValueField = "StaffID";
             empiddrop.DataBind();

        }

...问题是性别变量在回发后失去了价值(从 asp.net 下拉列表控件中选择项目)。我还设置了单选按钮属性 enableviewstate="true" 但它没有解决问题。..请帮助...谢谢

标签: c#asp.net

解决方案


将性别声明为静态全局变量

使用类似的东西

static string gender="";

使用它作为全局变量


推荐阅读