1

C# コード。チェックボックスを設定しましたが、以前はラジオボタンを設定していませんでした。サンプルページは次のとおりです。

<asp:Content ID="Content" runat="server" ClientIDMode="Static">
    <asp:UpdatePanel ID="category" runat="server">
        <ContentTemplate>
            <div>
                <span>Data:</span>
                <asp:TextBox ID="txBox" runat="server" TextMode="MultiLine">
                </asp:TextBox>
            </div> 
            <!-- Need to add this to populate from dataset, and save to database table -->     
            <asp:RadioButtonList ID ="radioButtonList" runat="server" AutoPostBack="true"
                OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged"  >
                <asp:ListItem ID="isEnabledTrue">Yes</asp:ListItem>
                <asp:ListItem ID ="isEnabledFalse" Selected="True">No</asp:ListItem>           
            </asp:RadioButtonList>    
        </ContentTemplate>
    </asp:UpdatePanel>
</asp:Content>

同じ方法で radioButtonList を設定するにはどうすればよいですか。返されるテーブル/データセットは Name : NVARCHAR(25) isEnabled: 1/0 - BIT になります。

「isEnabled」データセットを radioButtonList コントロールにアタッチするにはどうすればよいですか。また、radioButtonlist コントロールへの変更を監視し、データベースに保存する必要があります。

データベースから値を入力する: DataSet から TextBox と RadioButtonList 値をデータベースに保存: TextBox と RadioButton を選択して、テーブルに保存します。

これが機能しない場合の私の代替アプローチは、データベースから XML を取得し、この XML 構造から XSLt を構築することです。必要に応じて、更新されたラジオボタン/テキストボックスを保存するために、AJAX 経由でデータベースを呼び出すイベントを追加できます。JavaScriptメソッドも機能するようにするには、追加のコードが必要です。XMLの方法に進む前に、データセットのアプローチをテストしたかった..

私の aspx.cs コード ビハインドはこれを行います。

protected void Page_Load(object sender, EventArgs e)
{
    Populate();
}

private void Populate()
{
    DataSet dataSet = CustomCode.GetDataSet(somethingPassedIn);
    DataRow row = dataSet .Tables["Table1"].Rows[0];
    txBox.Text = row["Name"].ToString();
    //How to populate RadioButtonList with Yes/No checked appropriately? 
    //A bit column of 1/0 is returned per what needs to be checked 
    //(1=> Yes should be selected, 0=>No should be selected) 
}

protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
{
    SaveData(); 
}
private void SaveData()
{
    CustomCode.SaveData(txBox.Text.Trim(), radioButtonList?);       
}
4

1 に答える 1

1

バインディング:

if((bool)row["IsEnabled"])
{
    radioButtonList.SelectedValue = "Yes";
}
else
{
    radioButtonList.SelectedValue = "No";
}

保存:

bool isEnabled;
if(radioButtonList.SelectedValue = "Yes")
{
    isEnabled = true;
}
CustomCode.SaveData(txBox.Text.Trim(), isEnabled);
于 2012-10-15T17:02:15.470 に答える