SQLDataSource + GridView + ItemTemplate + JavaScript DOM 使用方法

 
SQLDataSource + GridView + ItemTemplate + JavaScript DOM 使用方法
 

   Default.aspx
 
   <%@ Page Title="首頁" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
   CodeBehind="Default.aspx.cs" Inherits="WebApplication9._Default" %>
 
   <asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
      <script type="text/javascript">
      //<![CDATA[
 
         function ShowMenu(obj){
 
            var ControlID = obj.id;
            var RowNumber = ControlID.replace("MainContent_GridView1_HyperLink1_", "");
            //var AllRowCount = document.getElementById("MainContent_Label33").innerHTML;
            var AllRowCount = 10;
 
            ControlID = ControlID.replace("MainContent_GridView1_HyperLink1_", "MainContent_GridView1_L3_");
 
            for(i=0;i<(parseInt(AllRowCount)+1);i++){
               if (i == parseInt(RowNumber)) {
                  document.getElementById(ControlID).setAttribute("style", "display:");
                  document.getElementById(ControlID).innerHTML = i.toString();
               } else {
                  document.getElementById("MainContent_GridView1_L3_" + i).setAttribute("style", "display:none");
               }
            }
 
         }
 
      //]]>
      </script>
   </asp:Content>
 
   <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
 
      <%−−
         <asp:Label ID="Label33" runat="server" Text="" style="display:none" />
      −−%>
      <asp:Label ID="Label44" runat="server" Text="" style="display:" />
 
      <asp:SqlDataSource ID="SqlDataSource2" runat="server"
      ConnectionString="Data Source=.\SqlExpress; Initial Catalog=Soccer;
      Integrated Security=SSPI"
      SelectCommand="SELECT * FROM Team;" />
 
      <asp:GridView ID="GridView1" runat="server" AllowPaging="true" PageSize="10"
      DataSourceID="SqlDataSource2" AutoGenerateColumns="false">
 
         <Columns>
 
            <asp:CommandField ShowSelectButton="true" SelectText="Select" />
 
            <asp:TemplateField HeaderText="Team ID" Visible="false">
               <ItemTemplate>
                  <asp:Label ID="L1" runat="server" Text='<%# Eval("Team_ID") %>'/>
               </ItemTemplate>
            </asp:TemplateField>
 
            <asp:TemplateField HeaderText="Team Name">
               <ItemTemplate>
                  <asp:HyperLink ID="HyperLink1" runat="server"
                  Text='<%# Eval("Team_Name") %>' NavigateUrl="#" onclick="ShowMenu(this);" />
                  <br />
                  <asp:Label ID="L3" runat="server" Text="" style="display:none" />
               </ItemTemplate>
            </asp:TemplateField>
 
         </Columns>
 
      </asp:GridView>
 
   </asp:Content>
 

 

   Default.aspx.cs
 
   using System;
   using System.Web;
   using System.Web.UI.WebControls;
 
   namespace WebApplication9
   {
      public partial class _Default : System.Web.UI.Page
      {
         protected void Page_Init(object sender, EventArgs e)
         {
            GridView1.SelectedIndexChanged += new EventHandler(GridView1_SelectedIndexChanged);
         }
 
         protected void Page_Load(object sender, EventArgs e)
         {
            //Label33.Text = GridView1.Rows.Count.ToString();
         }
 
         void GridView1_SelectedIndexChanged(object sender, EventArgs e)
         {
            int GridViewSelectedIndex = ((GridView)sender).SelectedIndex;
            HyperLink TeamHyperLink = (HyperLink)((GridView)sender).Rows[GridViewSelectedIndex].Cells[2].Controls[1];
            Label44.Text = TeamHyperLink.Text;
         }
      }
   }