DetailsView绑定数据以后生成的是表格:
试题 字段1的内容
A A字段的内容
B B字段的内容
C C字段的内容
D D字段的内容现在字段1是试题,2、3、4、5分别是A、B、C、D的选项,怎么样能使DetailsView中字段2、3、4、5前面加上一个单选按钮呢?
或者说绑定字段1的内容,然后插入一个RadioButtonList控件,怎么样使它绑定相应的数据呢?
万分感谢!
试题 字段1的内容
A A字段的内容
B B字段的内容
C C字段的内容
D D字段的内容现在字段1是试题,2、3、4、5分别是A、B、C、D的选项,怎么样能使DetailsView中字段2、3、4、5前面加上一个单选按钮呢?
或者说绑定字段1的内容,然后插入一个RadioButtonList控件,怎么样使它绑定相应的数据呢?
万分感谢!
如果有一定的规则的话,就直接在页面写:<% string[] option = content.split(','); %>
<% foreach(string s in options){ %>
<input type="radio" name="aaa" value="<%=s%>" />
<% } %>
<asp:BoundField DataField="STBT" SortExpression="STBT" />
<asp:BoundField DataField="A" SortExpression="A" />
<asp:BoundField DataField="B" SortExpression="B" />
<asp:BoundField DataField="C" SortExpression="C" />
<asp:BoundField DataField="D" SortExpression="D" />
</Fields>
可改用FormView!!
<asp:BoundField DataField="STBT" SortExpression="STBT" /><asp:TemplateField>
<EditItemTemplate>
<asp:RadioButtonList ID="RadioButtonList2" runat="server">
<asp:ListItem>这里怎么绑定呢?</asp:ListItem>
</asp:RadioButtonList>
</EditItemTemplate>
</asp:TemplateField>
</Fields>
<asp:FormView ID="FormView1" runat="server" AllowPaging="True" DataKeyNames="STBT"
DataSourceID="SqlDataSource1">
<ItemTemplate>
<asp:Label ID="STBTLabel" runat="server" Text='<%# Bind("STBT") %>'></asp:Label><br />
<asp:RadioButtonList ID="RadioButtonList3" runat="server" DataSourceID="SqlDataSource1">
<asp:ListItem><%# Bind("S1") %></asp:ListItem>
<asp:ListItem><%# Bind("S2") %></asp:ListItem>
<asp:ListItem><%# Bind("S3") %></asp:ListItem>
<asp:ListItem><%# Bind("S4") %></asp:ListItem>
</asp:RadioButtonList>
</ItemTemplate>
</asp:FormView>
提示<asp:ListItem></asp:ListItem>之间的代码出错,“此上下文中不支持代码块”……
protected void DetailsView1_DataBound(object sender, EventArgs e)
{
if (DetailsView1.CurrentMode == DetailsViewMode.Edit)//确认当前是编辑模式
{
RadioButtonList rb=(RadioButtonList)DetailsView1.FindControl("RadioButtonList2");//找到RadioButtonList2
rb.DataSource = xxx;//调用某个DataSource函数
rb.DataBind();
}
}
RadioButtonList绑定SqlDataSource只设置两个属性:
DataTextField和DataValueField,如下:
.................
<asp:RadioButtonList ID="RadioButtonList1" runat="server" DataSourceID="SqlDataSource1" DataTextField="字段1" DataValueField="字段2"> </asp:RadioButtonList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:yourConnectionString %>" SelectCommand="SELECT * FROM .......">
</asp:SqlDataSource>
..........
{
if (IsPostBack)
{
DetailsView detailsView = (DetailsView)sender;
if (detailsView.CurrentMode == DetailsViewMode.Edit)
{
RadioButtonList rdbl= (RadioButtonList)detailsView.FindControl("RadioButtonList1");
}
}
}