如何在c#中使用简单的for循环动态生成标签和文本框

时间:2015-10-02 13:10:27

标签: c# asp.net textbox labels dynamically-generated

所以,我试图在按钮点击时生成两个标签和两个文本框。每次我点击按钮,它都应该在屏幕上生成一组新的标签和文本框。

这是布局

here is profile of you function with line_profiler and 1000 runs 
I do not see what could be optimized significantly, it seems that


Function: random_Bigramsplitter at line 10

Line       Hits         Time  Per Hit   % Time  Line Contents
==============================================================

10                                           def random_Bigramsplitter(word):
11                                           
12      1000        30037     30.0      1.2      spw=[]
13      1000        30107     30.1      1.2      length=len(word)
14      1000       165263    165.3      6.8      rand=random_int(word)
15      1000        31969     32.0      1.3      if rand==length:
16        87         4361     50.1      0.2          return [tuple([word,'0'])]
17                                           
18                                               else:
19       913        84378     92.4      3.5          div=mod(rand,(length+1))
20       913        37940     41.6      1.6          bound=length-div
21       913        33985     37.2      1.4          spw.append(div)
22      3316       122185     36.8      5.0          while div!=0:
23      2403       379946    158.1     15.7              rand=random_int(word)
24      2403       201558     83.9      8.3              div=mod(rand,(bound+1))
25      2403        81872     34.1      3.4              bound=bound-div
26      2403        86954     36.2      3.6              spw.append(div)
27       913        27342     29.9      1.1          result=spw
28       913        26054     28.5      1.1      b=0
29       913        27139     29.7      1.1      points=[]
30      3316       118538     35.7      4.9      for x in range(len(result)-1):
31      2403        90216     37.5      3.7          b=b+result[x]
32      2403        82404     34.3      3.4          points.append(b)
33       913        26537     29.1      1.1      xy=0
34       913        26754     29.3      1.1      t=[]
35      3316       101717     30.7      4.2      for i in points:
36      2403        95277     39.6      3.9          t.append(word[xy:i])
37      2403        71435     29.7      2.9          xy=i
38       913        35714     39.1      1.5      if word[xy:len(word)]!='':
39       467        18571     39.8      0.8          t.append(word[xy:len(word)])
40       913        36953     40.5      1.5      t.extend('0')
41       913       323568    354.4     13.3      c=[b for b in nltk.bigrams(t)]
42       913        27741     30.4      1.1      return c

点击每个按钮,都会发生以下情况

点击

Label 1   Textbox 1   Label 2   Textbox 2  Button

2次点击

Label 1   Textbox 1  Label 2   Textbox 2  Button     

Label 3   Textbox 3  Label 4   Textbox 4  

我怎样才能实现这一点。

目前我只看到一行标签和文本框,它们可能会在同一个地方被覆盖。

这是我的代码。

Label 1   Textbox 1  Label 2   Textbox 2  Button 
Label 3   Textbox 3  Label 4   Textbox 4    
Label 5   Textbox 5  Label 6   Textbox 6 

4 个答案:

答案 0 :(得分:0)

每次点击该按钮都会刷新页面,以便删除之前创建的文本框和标签。

我建议您将文本框和标签保存在List中,并在每次单击按钮时添加到集合中,然后在按钮上单击显示整个集合

答案 1 :(得分:0)

在按钮旁边添加一个隐藏的输入,用于跟踪点击次数。将此值设置为变量button_press,递增并将新值设置为隐藏输入。即使页面实际刷新每次点击,这也会增加计数

答案 2 :(得分:0)

最有效的方法不是服务器端,而是客户端。在第一个document.load上,创建标签/文本框对 单击该按钮时,调用.aspx中的javascript函数,该函数将创建标签/文本框对。
这样可以防止多次往返服务器,只是为了添加标签/文本对 最后,我确定您要将此数据提交给服务器。您可以使用JSON在文本框中构建数据输入,并通过单击另一个名为“提交数据”的按钮来传递所有信息。使用jQuery函数与服务器通信,甚至使用javascript的XMLHttpRequest将数据从客户端推送到服务器。
我知道这听起来很难,但你可以试一试。

答案 3 :(得分:0)

我按下按钮变量静态,一切正常。关键是保持会话状态,并使其静态,我可以实现它。