如何在表单中显示集合的下一个对象?

时间:2010-06-08 08:31:11

标签: c# asp.net

我有一个生成的对象列表。 点击下一步后,我想在表格中显示下一个产品

在我的asp页面中,我有以下表格:

<form id="formNF" runat="server">

<asp:TextBox ID="txtRef" runat="server"></asp:TextBox>
<asp:TextBox ID="txtArticle" runat="server"></asp:TextBox>
<asp:TextBox ID="txtQauntity" runat="server"></asp:TextBox>


<asp:Button ID="ButtonNext" runat="server" Text="Next product" OnClick="ButtonNext_Click"/>
</form>

在我的代码隐藏中:

private int i; 
protected void ButtonNext_Click(object sender, EventArgs e) { 
     int nbrproducts = command.getListeproducts().Count; 
     i++; 
     for(i=0;i<nbrproducts;) { 
       mdeTxtRef.Text = command.getListeproducts()[i].Ref; 
       mdeTxtQte.Text = command.getListeproducts()[i].Qte; 
     } 
} 

但似乎ASP并不喜欢这样。你有个主意吗?你好

1 个答案:

答案 0 :(得分:0)

你不能用next() - 方法或类似的东西进行迭代吗? List是可序列化的,因此带有计数整数和页面重载的简单for循环应达到您的目的。

也许你的foreach-loop没有停止,因为List-Object是开放式的,所以它在空的List-places上运行?还是我误解了你的问题? “点击后继续”是什么意思?

例如:

//on button-click -->i++
for(int i=0;i<Products.size();)
{
//filling fields --> Products.get(i)
//reload page
}

Buttonclick还要启动页面重新加载。

编辑:

可能是你的txtRef-Fields(在foreach循环中)不正确,因为你使用了3个不同的字段?

你能尝试启动整数字段或类似的东西,可以迭代吗?您想什么时候重置列表或其位置?我不是真的进入asp.net,所以我不知道,List-Class有什么属性和方法,但是如果没有一个简单的next()方法,那么遍历列表的迭代就足够了。这个按钮的功能应该没什么大不了的。