【问题标题】:Clicking Linkbutton in a gridview doesn't fire the codebehind单击网格视图中的链接按钮不会触发代码隐藏
【发布时间】:2012-10-09 17:02:15
【问题描述】:

我已经在这个网站和其他网站上搜索了一个解决方案,但我无法找到我的确切案例,所以这里......

我有一个面板,它使用模态弹出扩展器用作模态弹出窗口。此面板内部是一个包含多视图控件的更新面板。多视图的视图包含网格。不同的网格用于不同的视图。网格上最左侧的字段是包含链接按钮的模板字段。这应该触发后面的代码以重定向到另一个页面。相反,它似乎重新打开了没有显示数据的弹出窗口。

所以...这是我执行它们时的事件。

我单击网页上的一个按钮,打开包含我的网格的弹出窗口。正确的视图显示包含正确的网格并且我的数据是正确的。我单击了应该将我引导至新页面的链接按钮,但我得到了相同的弹出窗口,但网格中没有数据。

我在另一个网页上使用了这个确切的功能,唯一的区别是我不使用多视图。但是,我至少知道更新面板内网格中的链接按钮会触发后面的代码。

我尝试了一个图像按钮,它的反应相同。超链接字段确实有效并且可以使用,但我想看看我是否可以让链接按钮工作,以便我有更多的灵活性。

【问题讨论】:

  • 没有看到你的一些代码就不能说太多......

标签: asp.net gridview updatepanel modalpopupextender multiview


【解决方案1】:

您可以在 LinkBut​​ton 上添加 Click 事件,当您在 RowCreated 中的 Grid 上迭代时添加此事件。

void GridView_RowCreated(Object sender, GridViewRowEventArgs e)
  {
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
      LinkButton button= (LinkButton)e.Row.FindControl("IdButton");
      button.Click += YourDelegate; //Adjust here your called delegate
    }
  }

注意:您必须确保每次发布数据时都不会重新绑定网格

你可以使用

if( ! IsPostBack)
{
  //Bind your grid
}

你坚持 ViewState

【讨论】:

  • 我相信我之前尝试过这个,但是下面的行。 LinkButton button= (LinkButton)e.Row.FindControl("IdButton"); 回来了
  • 你用链接按钮的 id 替换,用你的链接按钮 id 调整这个(“IdButton”)
  • 是的,我知道,我认为这种情况是当它直接在页面中并且它正在寻找 $ct....name
  • 这是我在网格上的 RowCreated 事件中所拥有的。 If (e.Row.RowType = DataControlRowType.DataRow) Then Dim button As LinkButton = DirectCast(e.Row.FindControl("uAssignLinkButton"), LinkButton) AddHandler button.Click, AddressOf MyEvent End If我在 MyEvent 子上放了一个断点,它永远不会被命中
  • 添加这个
【解决方案2】:

点击我的链接按钮,它应该将我引导到一个新页面,但我得到了相同的弹出窗口,但网格中没有数据。

我假设您单击模态弹出式多视图当前视图中的链接以导航到另一个视图。您可以完全跳过此步骤并改用 ASP.NET AJAX 工具包的选项卡控件。您可以将每个 gridview 放在单独的选项卡中并删除链接按钮。

【讨论】:

  • 我应该被完全重定向到另一个页面。但是,相同的弹出窗口只是重新打开或刷新,只有没有数据。这只发生在我从具有多视图的页面中弹出它时。我测试过的所有其他页面都按预期工作。
  • 我无法理解您的整体情况。您可以发布屏幕截图或您的一些代码吗?
  • 我在上面贴了一些代码。几乎我只有一个具有多视图的页面。在该页面上有一个按钮,单击该按钮会打开弹出窗口。所有这些都按预期工作。但是当点击链接按钮时,它应该重定向到不同的页面。相反,打开的弹出窗口要么关闭并重新打开,要么在没有数据的情况下刷新。就像我说的,这仅在弹出窗口位于具有多视图控件的页面上时才会发生
猜你喜欢
  • 2018-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-21
相关资源
最近更新 更多