【问题标题】:User Input and Server / User Controls用户输入和服务器/用户控制
【发布时间】:2012-06-15 21:11:16
【问题描述】:

在创建应用程序页面或 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?还是我完全错了?(有没有人可以查看一个好的、复杂的示例项目?)

【问题讨论】:

    标签: asp.net sharepoint user-controls web-parts servercontrols


    【解决方案1】:

    我不知道如何存储用户输入,或将用户输入移动到 生成代码后面的代码。

    此下拉控件的用户输入始终在回传时出现。总是有通过Request.Form 获取它们的简单方法,因此您可以使用以下方式获取用户输入:

    Request.Form[Control.UniqueID]
    

    因此,您只需在控件上添加唯一名称,并在回发时记住/知道/重新创建该名称以获得回发值。

    【讨论】:

      猜你喜欢
      • 2012-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-30
      相关资源
      最近更新 更多