【发布时间】:2011-02-18 11:45:31
【问题描述】:
我有一个包含几列的 GridView。我的专栏之一是包含超链接的 TemplateField。
如果用户单击相应行中的任意位置,我希望“单击”该超链接。如果用户单击第 1 行的第 2 列,我希望页面的行为就像用户单击第 1 行第 1 列中的链接一样。
我怎样才能实现这样的功能?
【问题讨论】:
我有一个包含几列的 GridView。我的专栏之一是包含超链接的 TemplateField。
如果用户单击相应行中的任意位置,我希望“单击”该超链接。如果用户单击第 1 行的第 2 列,我希望页面的行为就像用户单击第 1 行第 1 列中的链接一样。
我怎样才能实现这样的功能?
【问题讨论】:
只需向该行添加一个 javascript onClick 事件处理程序。 您可以在 onItemDataBound 事件中执行此操作,您可以在第一列中获取 url
【讨论】:
您可以引发 SelectionChanged 事件。 在这种情况下,您调用选定的行,您可以获得第一列的值并根据需要执行它。
【讨论】:
如果我错了,请纠正我。您需要处理 Rowcreated 事件。
ClientScript.RegisterClientScriptBlock(
typeof(Page), "gridAction",
"function runIt() { alert('Clicked'); }",
true);
GridView1.RowCreated += (sa, ea) =>
{
ea.Row.Attributes.Add("onclick", "runIt()");
};
【讨论】: