0

我将选项卡名称存储在我的 SQL 数据库中名为“Importtabs”的表中。我不想对要导入的选项卡的名称进行硬编码,而是想从上述表中检索名称并将它们设置为我在 ascx 端的复选框列表的值。这是我之前使用的硬编码版本:

<div style="overflow: auto;"> 
<asp:CheckBoxList ID="CheckBoxList1" BorderStyle="None" runat="server" RepeatColumns="3">
<asp:ListItem>All Temporary Differences</asp:ListItem>
<asp:ListItem>All Permanent Differences</asp:ListItem>
<asp:ListItem>All BS Only Differences</asp:ListItem>
<asp:ListItem>RTA Temp</asp:ListItem>
<asp:ListItem>RTA Perm</asp:ListItem>
<asp:ListItem>RTA Temp Other</asp:ListItem>
<asp:ListItem>RTA Perm Other</asp:ListItem>
<asp:ListItem>RTA Other Expense</asp:ListItem>
</div>

我怎样才能做类似的事情,但使用我数据库中“Importtabs”表中的名称(“所有临时差异”、“所有永久差异”等)。请帮忙。

4

1 回答 1

0

假设您已经知道如何从数据库中检索数据,则可以使用此代码将该数据放入 CheckBoxList

protected void Page_Load(object sender, EventArgs e)
{
    // do not rebind the list if this is a postback; user input would be lost 
    if (this.IsPostBack)
    {
        return;
    }
    CheckBoxList1.DataSource = GetValues();
    CheckBoxList1.DataBind();
}

private string[] GetValues()
{
    // get data from database, with 'select <columnName> from Importtabs'
    // populate array
    // return values as a string[]
}

这将导致对您的数据库的大量命中,因此您可能希望运行一次 GetValues() 方法,然后缓存结果。


缓存SqlConnection的链接

于 2012-07-24T21:48:41.993 回答