如何使用C#向按钮定义后面添加工具提示

时间:2015-10-01 18:34:47

标签: c# asp.net tooltip

我用C#

在for循环中定义了按钮
protected void GenTable()
{
    for (int r = 0; r < 100; r++)
    {
        var buttonField = new ButtonField
        {
            ButtonType = ButtonType.Button,
            Text = "Model",
            CommandName = "Display",
        };
        Model.Columns.Add(buttonField);
        break;
    }      
}​

如何向这些按钮添加工具提示? 我试图在for循环中添加工具提示或标题,但不起作用。 任何人都可以帮我修复它吗?感谢

1 个答案:

答案 0 :(得分:0)

没有选项可以使用System.Web.UI.WebControls.ButtonField执行您想要的操作。

但是,有一种可能的解决方法。您可以将Text属性设置为HTML,例如

<asp:ButtonField Text="<span title='My beautiful button'>Model</span>" /> 

<强>更新

由于您要将Text设置为C#,因此它们似乎无法覆盖<>个字符。

因此,另一种解决方法是使用RowDataBound事件。例如:给出这样的GridView:

<asp:GridView ID="GridView1" OnRowDataBound="GridView1_RowDataBound" runat="server">

第一栏如下:

<asp:ButtonField Text="Model" />

您可以使用下面的事件ItemDataBound事件:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        (((System.Web.UI.WebControls.WebControl)e.Row.Cells[0].Controls[0])).ToolTip = "My beautiful button";
    }
}

注意:将Cells[0]更改为所需列的索引,因此如果您创建了100列,并且想要显示100个工具提示(就像您的代码一样),则必须在那里循环并更改为{ {1}}。