【问题标题】:How to tell a GridView to open a HyperLink on a CellClick?如何告诉 GridView 在 CellClick 上打开超链接?
【发布时间】:2011-02-18 11:45:31
【问题描述】:

我有一个包含几列的 GridView。我的专栏之一是包含超链接的 TemplateField。

如果用户单击相应行中的任意位置,我希望“单击”该超链接。如果用户单击第 1 行的第 2 列,我希望页面的行为就像用户单击第 1 行第 1 列中的链接一样。

我怎样才能实现这样的功能?

【问题讨论】:

    标签: c# asp.net gridview


    【解决方案1】:

    只需向该行添加一个 javascript onClick 事件处理程序。 您可以在 onItemDataBound 事件中执行此操作,您可以在第一列中获取 url

    【讨论】:

    • 好的,我知道如何将 onClick EventHandler 添加到一行。但是代码看起来应该如何告诉浏览器应该点击链接。你能提供一个代码示例吗?
    • view.Rows[0].Attributes.Add("onclick", "javascript:winow.open("h t t p://yoursite", params);
    • @citronas 您是只想重定向到超链接,还是选择客户端模板列中的链接并单击它?
    【解决方案2】:

    您可以引发 SelectionChanged 事件。 在这种情况下,您调用选定的行,您可以获得第一列的值并根据需要执行它。

    【讨论】:

      【解决方案3】:

      如果我错了,请纠正我。您需要处理 Rowcreated 事件。

      ClientScript.RegisterClientScriptBlock(
                    typeof(Page), "gridAction", 
                    "function runIt() { alert('Clicked'); }",
                    true);
      
      GridView1.RowCreated += (sa, ea) =>
        {
         ea.Row.Attributes.Add("onclick", "runIt()");
        };
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多