0

我有单选按钮,我需要在页面之间保持选中状态。我已经查找了所有解决方案,但我仍然对我应该做什么感到困惑。我将提供显示单选按钮功能的代码

.aspx 页面

<p>What Is Your Budget?
<asp:RadioButton ID="High_B" GroupName="Budget" runat="server" Text="High" 
        oncheckedchanged="High_B_CheckedChanged" ViewStateMode="Enabled" 
        AutoPostBack="True">
    </asp:RadioButton>
     <asp:RadioButton ID="Low_B" GroupName="Budget" runat="server" Text="Low" 
        oncheckedchanged="Low_B_CheckedChanged" AutoPostBack="True" 
        ViewStateMode="Enabled"> 
    </asp:RadioButton>
 </p>
    <p>What is the level of excitement around FWC 2014?
     <asp:RadioButton ID="High_E" GroupName="Radio" runat="server" Text="High" 
        oncheckedchanged="High__E_CheckedChanged" ViewStateMode="Enabled" 
            AutoPostBack="True">
    </asp:RadioButton>
     <asp:RadioButton ID="Low_E" GroupName="Radio" runat="server" Text="Low" 
        oncheckedchanged="Low_E_CheckedChanged" AutoPostBack="True" 
            ViewStateMode="Enabled"> 
    </asp:RadioButton></p>

.aspx.cs 页面

public void Chart()
    {
        if (High_E.Checked && High_B.Checked)
        {

            DataSet dSet = new DataSet();
            dSet.ReadXml(Server.MapPath("~/ChartData/HighBud_Ex.xml"));
            Chart1.DataSource = dSet.Tables[0];
            Chart1.DataBind();
            Session["name"] = "High";
            setName();
        }

        if (High_E.Checked && Low_B.Checked)
        {
            DataSet dSet = new DataSet();
            dSet.ReadXml(Server.MapPath("~/ChartData/LowBud_HighEx.xml"));
            Chart1.DataSource = dSet.Tables[0];
            Chart1.DataBind();
            Session["name"] = "LowHigh";
            setName();
        }

        if (Low_E.Checked && High_B.Checked)
        {
            DataSet dSet = new DataSet();
            dSet.ReadXml(Server.MapPath("~/ChartData/HighBud_LowEx.xml"));
            Chart1.DataSource = dSet.Tables[0];
            Chart1.DataBind();
            Session["name"] = "HighLow";
            setName();
        }

        if (Low_E.Checked && Low_B.Checked)
        {
            DataSet dSet = new DataSet();
            dSet.ReadXml(Server.MapPath("~/ChartData/LowBud_Ex.xml"));
            Chart1.DataSource = dSet.Tables[0];
            Chart1.DataBind();
            Session["name"] = "Low";
            setName();

        }
4

2 回答 2

2

您应该在回发之间保留单选按钮的状态。也就是说,在oncheckedchanged事件中,例如将单选按钮的状态保存在Session中,然后在回发之后,设置回这些状态。

于 2013-01-16T09:50:48.813 回答
0

我也有这个问题,我使用会话变量来存储单选按钮的状态,我所做的是在回发时。我将单选按钮的状态存储在一个用逗号分隔的字符串中,然后当我需要恢复状态时。我使用字符串拆分函数取数组 n 中的值取决于字符串我恢复了控件的状态

于 2013-01-16T10:19:16.000 回答