c# - 复选框工具提示数据库

标签 c# asp.net

好的,所以我需要一些帮助。我的数据库中有一个 AgileFactors 表,其中包含以下字段:AgileFactorID、名称和说明。我使用复选框列表将名称绑定(bind)为 DataTextField,并将 AgileFactorID 绑定(bind)为 DataValueField。我想做的是使用数据库中的描述字段作为悬停时显示在每个复选框旁边的信息图标的工具提示。请在下面查看我的代码。目前,我在 span 标签中传递了一个长字符串,这是毫无意义的。谁能帮我确保从数据库中检索到工具提示?非常感谢!

"SELECT Name, AgileFactorID, Description FROM AgileFactors"

agile_factors.DataSource = ds2;
agile_factors.DataTextField = "Name";
agile_factors.DataValueField = "AgileFactorID";
agile_factors.DataBind();


protected void agilefactors_DataBound(object sender, EventArgs e)
{

    var checkBox = sender as CheckBoxList;
    if (checkBox != null)
    {

        foreach (ListItem listItem in checkBox.Items)
        {

            listItem.Text = string.Format("{0} <span class='link'><a href='javascript: void(0)'><font face='verdana,arial,helvetica' size='2'><img src='{1}' Height='15' Width='15' /></font><span><b>Project Duration:</b><br/>Ideally, the project should be close to 6 months: much shorter means less iterations, and much longer tends towards long term planning.</span></a></span>", listItem.Text, GetImageFor(listItem.Text));

        }
    }
}

private string GetImageFor(string text)
{

    // return image url for check box based on text. 
    switch (text)
    {
        case "Project Duration": return "images/iicon.gif";
        case "Customer Involvement": return "images/iicon.gif";
        case "Acceptance of Change": return "images/iicon.gif";
        case "Team Size": return "images/iicon.gif";
        case "Skill of Team": return "images/iicon.gif";
        case "Organisational and Reporting Structure": return "images/iicon.gif";
        case "Process": return "images/iicon.gif";
        case "Documentation Requirements": return "images/iicon.gif";
        case "Layout of Workspace": return "images/iicon.gif";
        case "Empowered Team": return "images/iicon.gif";
        default: return null;
    }
}

最佳答案

正如您有一个 GetImageFor 函数一样,为“GetTooltip”创建另一个函数。 像处理其他字段一样提取工具提示并将其分配给工具提示属性。

编辑

你真的拥有所有的代码,你所要做的就是去做。我不会为您做数据库方面的工作,因为您自己可以做到,并且您已经在此处进行了演示。

但是要在这里添加工具提示:

 int i = 0;

            foreach(ListItem l in this.CheckBoxList1.Items)
            {
                i++;
                l.Attributes["title"] = "Tooltip " + i.ToString();
            }

这是结果的屏幕截图。 enter image description here

关于c# - 复选框工具提示数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5109382/

相关文章:

c# - ASP.NET 集成测试 - TestDrive.net 不会运行它们,其他测试运行者会

c# - asp.net 用户控件属性

c# - .NET HttpListener 前缀问题与本地主机以外的任何东西

c# - WSDL、枚举和 C# : It's still murky

c# - 循环缓冲区的用途是什么?

c# - 更改 Visual Studio ASP.NET HTTPS 证书

asp.net - 恶意用户可以修改 View 状态吗?

c#打印出字符串连接

c# - 在 ASP.NET Core 2.2 中将部分 View 呈现为 HTML 字符串

ASP.NET 和 HTML 问题