在创建应用程序页面或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?或者我是否完全错了?(有没有人能看到一个好的,复杂的示例项目?)
答案 0 :(得分:0)
我无法弄清楚如何存储用户输入,或将用户输入移动到 生成的代码背后的代码。
此下拉控件的用户输入始终是回发后的。始终有通过Request.Form
获取它们的简单方法,因此您可以使用以下方式获取用户输入:
Request.Form[Control.UniqueID]
因此,您只需要在控件上添加唯一名称,并在回发后记住/知道/重新创建这些名称以获取回发后的值。