我用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循环中添加工具提示或标题,但不起作用。 任何人都可以帮我修复它吗?感谢
答案 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}}。