0

我需要在我的 ASP.NET 应用程序中创建一个动态构建的页面(使用 VB)。该页面收集报告的参数信息。

名称、存储过程和所需参数等报告信息在 DB 表中。

在表中,我有一个字段“control_type”,我希望可以将其用作我需要创建的控件类型,以收集所选报告的相关参数值。因此,如果我选择 Report01,我会从 DB 中获取 Report01 的行,该报告行的参数数据告诉我,我需要将整数值收集到名为 i_company_id 的参数中,并创建控件以选择此值形式(在我动态创建的参数页面)说“DropDownList”。

如果我从数据库中获取该行并将该归档值放入变量中,那么我可以执行类似的操作吗

dim ddl as New VaraibleName

然后我可以正常填充列表,然后

panel.controls.add(ddl)

关键位是能够创建一个控件,其中要创建的控件类型是变量或其他一些动态定义的方式。

4

1 回答 1

0

我了解以下解决方案可满足您的需求:

Private Function createVariable(inputName As String) As Object
    Dim outVariable As Object = New Object

    If (inputName = "DropDownList") Then
        Dim targetVariable As DropDownList = New DropDownList()
        With targetVariable
            'You might change here its properties (passed via Object array for example)
        End With

        outVariable = targetVariable
    End If
    'Add as many conditions as variables you are expecting

    Return outVariable
End Function

通过这样做来调用它:

Dim ddl As Object = createVariable("VariableName")
panel.Controls.Add(ddl)

如果您打算仅将此代码与 一起使用Controls,则可以替换ObjectControl(无论哪种方式都可以)。

于 2013-08-28T16:06:39.643 回答