我必须在这里做错事,但我找不到一个简单的方法让它工作.
想象一下以下代码:
<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>
但它不会在呈现页面之前编译语句.因此,如果我得到此radiobuttonlist的选定值,它包含类似“<%= Compan ...%>”的内容而不是我的常量定义.
这个的正确语法是什么?
解决方法
我不知道为什么(我没有设法找到参考)但是<%=%>在ASPX标记中设置ListItem的值或文本时,语法不起作用.
你可以从代码隐藏中做到这一点,比如:
MyRadioButtonList.Items.Add(new ListItem( "Yes",CompanyName.SystemName.Constants.PaymentFrequency.FREQUENT.ToString())); //...