我有一个生成的对象列表。 点击下一步后,我想在表格中显示下一个产品
在我的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并不喜欢这样。你有个主意吗?你好
答案 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()方法,那么遍历列表的迭代就足够了。这个按钮的功能应该没什么大不了的。