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

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

问题描述:

我有一个生成对象的列表。 点击下一步我想在形式如何在表单中显示集合的下一个对象?

在我的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不喜欢这样。你有想法吗?你好。

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

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

例如:

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

甲Buttonclick也具有启动页面重载。

编辑:

莫非,你txtRef域(在foreach循环)地图无法正确的,因为你用3个不同的领域?

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

+0

谢谢,通过“点击后继续”我的意思是去下一个项目(产品),并显示它。 – TimeIsNear 2010-06-08 09:12:38

+0

我在asp中也是初学者,没有next()方法。 private int i; protected void ButtonNext_Click(object sender,EventArgs e) int nbrproducts = command.getListeproducts()。Count; i ++;对于(i = 0; i TimeIsNear 2010-06-08 12:05:13

+0

是否会抛出任何有用的错误? 您可以定义一个全局整数,因此单击按钮只会增加整数并刷新页面(包括必须更新的字段)。字段本身引用全局整数,每个新整数的值都会导致一个更改的字段值。 – user357206 2010-06-08 12:26:31