我有以下的中继器ASP页:
<asp:Repeater runat="server" ID="RegionRepeater"
DataSourceID="SqlDataSourceRegions" EnableViewState="true">
<ItemTemplate>
<tr>
<td valign="top">
<b><%#Eval("description")%></b>
<asp:HiddenField runat="server" ID="RegionID"
Value='<%#Eval("region_id")%>'/>
</td>
<td>
<asp:FileUpload ID="FileUpload" runat="server" Width="368px" />
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
(中继器是一个向导内,内容窗格内)。
后面的代码被连接到
protected void Wizard1_NextButtonClick(object sender, WizardNavigationEventArgs e)
事件。 还有屏幕上的两个项目(表内两行)。 然而,当代码尝试读取这些项目,项目集合是空的!
foreach(RepeaterItem region in RegionRepeater.Items)
{
// Never runs - the RegionRepeater.Items.Count = 0
FileUpload fileUpload = (FileUpload) region.FindControl("FileUpload");
String regionID = ((HiddenField)region.FindControl("RegionID")).Value;
...
为什么是空集,当有控制屏幕上的画?
非常感谢您的帮助; 这是开始我发疯。
(顺便说一句:我尝试添加/移除的EnableViewState =“真”的标签)