C#代码。我已经填充了复选框,但之前没有使用radiobuttons。 这是一个示例页面:
<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。 返回的表/数据集如下 名称:NVARCHAR(25) isEnabled:1/0 - BIT
如何将'isEnabled'数据集附加到radioButtonList控件。我还需要监视radioButtonlist控件的更改并保存到数据库。
所以,我有两个与控件相关的方法需要: 填充数据库中的值:来自DataSet的TextBox和RadioButtonList 将值保存到数据库:选中TextBox和RadioButton,以保存到表中。
如果这不起作用,我的替代方法是从数据库获取XML,然后从此XML结构构造XSLt。我可以添加通过AJAX调用数据库的事件,以便在需要时保存更新的radiobutton / textbox。我需要额外的代码来确保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?);
}
答案 0 :(得分: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);