我必须在这里做错事,但我找不到一个简单的方法让它工作.
想象一下以下代码:
<asp:RadioButtonList ID="MyRadioButtonList" runat="server">
<asp:ListItem Value="<%= CompanyName.SystemName.Constants.PaymentFrequency.FREQUENT.ToString() %>" Text="Yes" Selected="True"></asp:ListItem>
<asp:ListItem Value="<%= CompanyName.SystemName.Constants.PaymentFrequency.ONCE.ToString() %>" Text="No, Just do this once"></asp:ListItem>
</asp:RadioButtonList>
Run Code Online (Sandbox Code Playgroud)
但它不会在呈现页面之前编译语句.所以,如果我得到这个单选按钮列表中选择的值就包含有类似的"<%= COMPAN ...%>",而不是什么我的常量定义.
这个的正确语法是什么?
我不知道到底为什么(我没有找到参考),但是<%= %>当您在 ASPX 标记中设置 ListItem 的值或文本时,语法不起作用。
您可以从代码隐藏中执行此操作,例如:
MyRadioButtonList.Items.Add(new ListItem(
"Yes", CompanyName.SystemName.Constants.PaymentFrequency.FREQUENT.ToString()));
//...
Run Code Online (Sandbox Code Playgroud)