zoukankan
html css js c++ java
Ajax实现DataGrid/DataList动态ToolTip (转自 小山)
1.建立一aspx页面,html代码
<
html
>
<
head
>
<
title
>
WebForm1
</
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:TextBox
><
br
>
描述:
<
asp:TextBox
ID
="TextBox1"
runat
="server"
></
asp:TextBox
><
br
>
<
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
>
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;
}
#endregion
3.数据库脚本
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
查看全文
相关阅读:
MySQL详细安装(windows)
深入理解java虚拟机
java语言实现机制
java基本类型的长度
关于SQLite数据库 字段 DateTime 类型
"初识".Net Winfom
Linux Shell脚本编程while语句
mysql主从搭建
oracle dg状态检查及相关命令
Oracle 11.2.0.4单实例打补丁
原文地址:https://www.cnblogs.com/Godblessyou/p/1012909.html
最新文章
在eclipse中使用Maven分模块搭建SSM框架,创建jar、war、pom工程模块教学,项目的热部署,需要的可以留下邮箱,给大家发整理过的Maven笔记
将积累多年的java学习资料,pdf文档给大家分享一下,比如《大话设计模式》《算法》《Linux私房菜》等等
SpringMVC中控制器接收JSP页面表单的参数接收方式详解及细节注意(400错误)
Idea中Spring整合MyBatis框架中配置文件中对象注入问题解决方案
云服务器InfluxDB & Chronograf配置
写一个简单的爬虫
时序数据库InfluxDB(I)- 搭建与采集信息demo操作
基于SpringBoot前后端分离的点餐系统
MyBatis框架
动态代理模式——JDK动态代理
热门文章
Leetcode 之 Mysql(day01)
Java的反射技术
Hibernate 框架 -HQL 语法
Hibernate 框架入门
Hibernate 框架
Java_JDBC 连接
mysql数据库
HTTP和HTTPS的区别
Hashtable,HashMap和ConcurrentHashMap的原理及区别
java反射机制详解
Copyright © 2011-2022 走看看