很遗憾,此上下文不支持数据绑定语法 (<%# %>),并且在为服务器控件分配值时,文字绑定语法(<%= %> 或 <%: %>)不会产生所需的结果。
以下是一些替代方法:
1.绑定到数据源:
如果您创建了包含文本和值的对象集合,则可以轻松设置单选按钮列表的 DataSource、DataTextField 和 DataValueField 属性。因为数据源将在代码隐藏中填充,所以访问会话变量是微不足道的。
例如,在标记中:
<asp:RadioButtonList ID="rblSplitWeek" runat="server"
DataTextField="Text"
DataValueField="Value" />
在代码隐藏中:
public class RadioValue
{
public string Text { get; set; }
public string Value { get; set; }
}
// ...
var values = new RadioValue[]
{
new RadioValue { Text = "No Choice" },
new RadioValue { Text = "First", Value = Session["s_price_1"].ToString() },
new RadioValue { Text = "Second" }
}
rblSplitWeek.DataSource = values;
rblSplitWeek.DataBind();
2。从代码隐藏分配值
如果你用文本声明列表项但没有值,你可以从脚本中设置值。
例如,在标记中:
<asp:RadioButtonList ID="rblSplitWeek" runat="server">
<asp:ListItem selected="true">No Choice</asp:ListItem>
<asp:ListItem Text = "First" />
<asp:ListItem Text = "Second" />
</asp:RadioButtonList>
在代码隐藏中:
rblSplitWeek.Items.FindByText("First").Value = Session["s_price_1"].ToString();