【发布时间】:2013-10-16 11:17:27
【问题描述】:
我有一个在循环中动态创建的复选框列表,当我尝试使用内联代码设置值时,它只是给我内联代码而不评估它。这是一个例子:
<ul>
<%
string testValue = string.Empty;
for(int index = 0; index < 5; index++)
{
testValue = "blah" + index;
%>
<li>
<input type="checkbox" runat="server" value="<%= testValue %>" />
</li>
<%
}
%>
</ul>
这是我得到的输出:
<ul>
<li>
<input name="ctl00$MainContent$ctl00" type="checkbox" value="<%= testValue %>" />
</li>
<li>
<input name="ctl00$MainContent$ctl00" type="checkbox" value="<%= testValue %>" />
</li>
<li>
<input name="ctl00$MainContent$ctl00" type="checkbox" value="<%= testValue %>" />
</li>
<li>
<input name="ctl00$MainContent$ctl00" type="checkbox" value="<%= testValue %>" />
</li>
<li>
<input name="ctl00$MainContent$ctl00" type="checkbox" value="<%= testValue %>" />
</li>
</ul>
有人可以帮我解决这个问题吗?
【问题讨论】:
-
我认为你需要在
value="<%= testValue %>"上使用单引号 -
去掉
runat="server",除非你需要复选框作为服务器控件 -
如果我尝试单引号 value='" 我得到相同的结果:
-
哎呀没有注意到
runat="server",我在最后写了它并且它正在工作,因为我没有那个设置。无论如何,您都不需要runat="server",因为您的控件是动态生成的,您不需要以这种方式访问它们。 -
我实际上需要找出在后面的代码中单击按钮时检查了哪些值,这就是我在服务器上运行复选框的原因。抱歉,示例有点不完整。
标签: html asp.net checkbox inline-code