Asp.net 用户输入和服务器/用户控件

Asp.net 用户输入和服务器/用户控件,asp.net,sharepoint,user-controls,web-parts,servercontrols,Asp.net,Sharepoint,User Controls,Web Parts,Servercontrols,在创建应用程序页面或web部件时,我偶尔会发现在页面周围的多个位置有相同的几个下拉列表和标签 Application Page _____________________ | lbl ddl lbl dll | | lbl ddl lbl ddl | | | | lbl ddl lbl dll | | lbl ddl lbl ddl | ----------------------- 最初,我会举一个例子,比如说,2个标

在创建应用程序页面或web部件时,我偶尔会发现在页面周围的多个位置有相同的几个下拉列表和标签

Application Page
 _____________________
| lbl ddl    lbl dll  |
| lbl ddl    lbl ddl  |
|                     |
| lbl ddl    lbl dll  |
| lbl ddl    lbl ddl  |
-----------------------
最初,我会举一个例子,比如说,2个标签和2个下拉控件,我会在一个ascx文件中模拟它,称它为用户控件(后面有代码),然后将它粘贴到我的主应用程序页面的多个位置

Application Page
 _____________________
| user        user    |         User Control
| control    control  |          ___________
|                     |          | lbl ddl |
| user        user    |          | lbl ddl |
| control    control  |          -----------
-----------------------
问题最近,我被告知,如果每个用户控件中显示的下拉列表或标签等的数量是动态的,那么我应该使用服务器控件而不是用户控件

但我好像没办法做到!在服务器控件中,似乎没有html模型,所以您只有代码可以使用。我不知道如何存储用户输入,或者如何将用户输入从生成的代码移到后面的代码中

这是否意味着服务器控件仅用于创建单独的控件,如MySpecialTextBox?还是我完全错了?(有人有一个好的、复杂的示例项目我可以查看吗?)

我不知道如何存储用户输入,或将用户输入移动到 从生成的代码中隐藏代码

此下拉控件的用户输入总是在返回后返回。通过
Request.Form
总是有一种简单的方法来获取它们,因此您可以使用:

Request.Form[Control.UniqueID]
因此,您只需在控件上添加唯一的名称,并在回发时记住/知道/重新创建该名称即可获得回发值