今天给大家分享的是由图老师小编精心为您推荐的Ajax实现DataGrid/DataList动态ToolTip,喜欢的朋友可以分享一下,也算是给小编一份支持,大家都不容易啊!
【 tulaoshi.com - Web开发 】
1.建立一aspx页面,html代码2.cs代码
  
  using System.Data.SqlClient;
  using System.IO;
  protected void Page_Load(object sender, EventArgs e)
      {
          if (!Page.IsPostBack)
          {
              BindData();
              
          }
          if (ID != "")
          {
              GetDescriptionByID(ID);
          }
          
      }
      property#region property
      private string ID
      {
          get
          {
              if (Request["ID"] != null && Request["ID"].ToString() != "")
              {
                  return Request["ID"];
              }
              else
              {
                  return "";
              }
          }
      }
      #endregion
      GetDescriptionByID#region GetDescriptionByID
      private void GetDescriptionByID(string ID)
      {
          string connStr = ConfigurationSettings.AppSettings["ConnectionString"];
          SqlConnection conn = new SqlConnection(connStr);
          string sql = "select * from testimage where userid='" + ID + "'";
          SqlCommand cmd = new SqlCommand(sql, conn);
          conn.Open();
          SqlDataReader dr = cmd.ExecuteReader();
          string s = @"table cellspacing='0' cellpadding='4' width='300' height='200' border='0' id='GridView1' style='color:#333333;border-collapse:collapse;'";
          if(dr.Read())
          {
              s += "tr style='color:#333333;background-color:#FFFBD6;'";
              s += "td width='50'名称:/td";
              s += "td" + dr["UserName"] + "/td";
              s += "/tr";
              s += "tr style='color:#333333;background-color:White;'";
              s += "td scope='col'描述:/td";
              s += "td" + dr["Description"] + "/td";
              s += "/tr";
          }
          s += "/table";
          dr.Close();
          conn.Close();
          this.Response.Write(s);
          this.Response.End();
      }
      #endregion
      save image#region save image
      protected void Button2_Click(object sender, EventArgs e)
      {
          Stream ImageStream;
          string Path = FileUpload1.PostedFile.FileName;// 文件名称
          int Size = FileUpload1.PostedFile.ContentLength; // 文件大小
          string Type = FileUpload1.PostedFile.ContentType; // 文件类型
          ImageStream = FileUpload1.PostedFile.InputStream;
          byte[] Content = new byte[Size];
          int Status = ImageStream.Read(Content, 0, Size);
          SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
          SqlCommand comm = new SqlCommand("insert into testimage (UserName,Image,Path,Type,Description) values(@UserName,@Image,@Path,@Type,@Description)", conn);
          comm.CommandType = CommandType.Text;
          comm.Parameters.Add("@UserName", SqlDbType.VarChar, 255).Value = txtUserName.Text;
          comm.Parameters.Add("@Image", SqlDbType.Image).Value = Content;
          comm.Parameters.Add("@Path", SqlDbType.VarChar, 255).Value = Path;
          comm.Parameters.Add("@Type", SqlDbType.VarChar, 255).Value = Type;
          comm.Parameters.Add("@Description", SqlDbType.VarChar, 2000).Value = this.TextBox1.Text;
          conn.Open();
          comm.ExecuteNonQuery();
          conn.Close();
      }
      #endregion
      BindData#region BindData
      private void BindData()
      {
          string sql = "select * from testimage";
          DataSet ds = GetDataSet(sql);
          this.DataList1.DataSource = ds;
          this.DataList1.DataBind();
      }
      #endregion
      GetDataSet#region GetDataSet
      private DataSet GetDataSet(string sql)
      {
          string constring = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
          SqlDataAdapter sda = new SqlDataAdapter(sql, constring);
          DataSet ds = new DataSet();
          sda.Fill(ds);
          return ds;
      }
      #endregion3.数据库脚本
  if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TestImage]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  drop table [dbo].[TestImage]
  GO
  CREATE TABLE [dbo].[TestImage] (
      [UserID] [int] IDENTITY (1, 1) NOT NULL ,
      [UserName] [nvarchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,
      [Image] [image] NULL ,
      [Path] [nvarchar] (500) COLLATE Chinese_PRC_CI_AS NULL ,
      [Type] [nvarchar] (20) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
      [Description] [nvarchar] (2000) COLLATE Chinese_PRC_CI_AS NULL 
  ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
  GO 
  html
   head
    titleWebForm1/title
    style type="text/css".Logo {}{ POSITION: absolute }.dek {}{ Z-INDEX: 200; VISIBILITY: hidden; POSITION: absolute }/style
   /head
   body
   Form runat="server"
    DIV class="dek" id="dek"/DIV
      script language="javascript"  
          Xoffset=-20;
          Yoffset=  20;       
          var  nav,yyy=-1000;
          var  skn=dek.style;
          document.onmousemove=get_mouse;
          
          //ajax
          var xmlHttp;        
          function createXMLHttpRequest() 
          {
              if (window.ActiveXObject) 
              {
                  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
              } 
              else if (window.XMLHttpRequest) 
              {
                  xmlHttp = new XMLHttpRequest();
              }
          }
              
          function startRequest(id) 
          {
              createXMLHttpRequest();
              xmlHttp.onreadystatechange = handleStateChange;
              xmlHttp.open("GET", "?ID="+id, true);
              xmlHttp.send(null);
          }
          var content;    
          function handleStateChange() 
          {
              if(xmlHttp.readyState == 4)
              {
                  if(xmlHttp.status == 200)
                  {
                      content=xmlHttp.responseText;
                  }
              }
          }
          //tooltip
          function  popup(id)
          {
              startRequest(id);
              yyy=Yoffset;
              document.all("dek").innerHTML=content;
              skn.visibility="visible"
          }
          function  get_mouse(e)
          {
              var  x=event.x+document.body.scrollLeft;
              skn.left=x+Xoffset;
              var  y=event.y+document.body.scrollTop;
              skn.top=y+yyy;
          }
          function  kill()
          {
              yyy=-1000;
              skn.visibility="hidden";
          }
  /script  
    div
      asp:FileUpload ID="FileUpload1" runat="server" /br名称:asp:TextBox ID="txtUserName"
              runat="server"/asp:TextBoxbr
        描述:asp:TextBox ID="TextBox1" runat="server"/asp:TextBoxbr
          asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="保存" /
      asp:DataList id="DataList1"
             BorderColor="black"
             CellPadding="1"
             CellSpacing="4" HorizontalAlign="Center"
             RepeatColumns="4"
             RepeatLayout="Table"
             runat="server" ShowFooter="true" ShowHeader="true"
             width="100%"
           ItemTemplate
              %# DataBinder.Eval(Container.DataItem, "UserName")%br
              img ID="img1" onmouseover="popup(%# DataBinder.Eval(Container.DataItem, "UserID")%);" onmouseout="kill();" src='%# DataBinder.Eval(Container.DataItem, "Path") %' height='150'/
           /ItemTemplate
        /asp:DataList    
      /div
      /Form
   /body
  /html
来源:http://www.tulaoshi.com/n/20160219/1628348.html
看过《Ajax实现DataGrid/DataList动态ToolTip》的人还看了以下文章 更多>>