使用客户端脚本在GridView's SelectedIndexChanged事件

本文关键字:SelectedIndexChanged 事件 GridView 客户端 脚本 | 更新日期: 2023-09-27 18:19:18

代码如下:

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    DetailsView1.Visible = true;
    string csName = "showDetails";
    StringBuilder sb = new StringBuilder();
    sb.Append("document.getElementById('div_detailsView').style.display = 'block';");
    sb.Append("document.getElementById('overlay').style.display = 'block';");
    if (!ClientScript.IsClientScriptBlockRegistered(csName))
    {
        ClientScript.RegisterClientScriptBlock(this.GetType(), csName, sb.ToString(), true);
    }
    Response.Write(GridView1.SelectedIndex + "<br>");
}

这是我的aspx页面的结构

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Summary.aspx.cs" Inherits="Summary" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server"></asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
    <div>
         <!-- Grid View Control placed here -->
    </div>
    <div id="div_detailsView">
          <!-- Details View Control placed here -->
    </div>
    <div id="overlay"></div>
</asp:Content>

我的意图是创建Lightbox/Graybox的效果,我们有DetailsView控件放置在屏幕的中央框,而背景变灰。我在这里尝试css方法,使用js代码应该是非常少的。

但由于某种原因,我一直得到document.getElementByID("div_detailsView") is null错误。我不知道为什么我不能执行客户端脚本在这种情况下。有人能帮我一下吗?谢谢。

使用客户端脚本在GridView's SelectedIndexChanged事件

有可能在页面完全加载之前调用脚本。试着用RegisterStartupScript代替

相关文章:
  • 没有找到相关文章