2011-05-09 166 views
0

我在ASP.Net中完成了一个项目,要求在文本框中输入一个数字。在其中输入一个数字并点击一个按钮后,它会根据文本框中给出的值生成文本框的数量。就像在文本框中输入5一样,它会在下面动态生成5个文本框。在会话中存储动态创建的文本框的值

我希望动态创建的文本框(多个文本框)的所有值都存储在会话中,并在单击另一个按钮后通过会话传递到下一页。但我无法做到这一点。

我该如何解决这个问题。 任何人都可以帮助我。

谢谢

回答

0

您可以使用值创建一个数组并将其存储在会话中。下面的代码没有经过测试,但应该给你一个想法。

string[] arrayTextboxes = new string[numberOfTextboxes]; 
int index = 0; 
foreach (Control ctrl in Page.Controls) 
{ 
    if (ctrl is TextBox) 
    { 
     arrayTextboxes[index] = ((Textbox)ctrl).Text; 
     index++; 
    } 
} 

Session["tbValues"] = arrayTextboxes; 
+0

这将拉动静态文本框,不是吗? – 2011-05-09 18:16:49

+0

是的。您可以为静态框创建一个ID,而为动态框创建一个ID。然后使用'if(ctrl.ID == null)'或某种类似的检查来区分静态和动态文本框。 – keyboardP 2011-05-09 18:19:07