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

ポストバック間で radioButtons の状態を保持する必要があります。つまり、イベントでは、ラジオボタンの状態をたとえばセッションoncheckedchangedに保存し、ポストバック後にそれらの状態を元に戻します。

于 2013-01-16T09:50:48.813 に答える
0

私もこの問題を抱えていました.セッション変数を使用してラジオボタンの状態を保存しました.私がしたことはポストバックです.ラジオボタンの状態をコンマで区切られた文字列に保存し、状態を復元する必要があるときに.iを使用しました文字列に応じて配列 n の値を取得する文字列分割関数 i は、コントロールの状態を復元しました

于 2013-01-16T10:19:16.000 に答える