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
查看全文
相关阅读:
linux 解压tgz 文件指令
shell 脚本没有执行权限 报错 bash: ./myshell.sh: Permission denied
linux 启动solr 报错 Your Max Processes Limit is currently 31202. It should be set to 65000 to avoid operational disruption.
远程查询批量导入数据
修改 MZTreeView 赋权节点父节点选中子节点自动选中的问题
关于乱码的问题解决记录
我的网站优化之路
对设计及重构的一点反思
我的五年岁月
奔三的路上
原文地址:https://www.cnblogs.com/Godblessyou/p/1012909.html
最新文章
富人的逻辑:如何创造财富,如何保有财富读书摘要
富兰克林自传读书摘要
写给所有人的编程思维读书摘要
永久记录读书摘要
小狗钱钱2读书摘要
记录计算机运算符
hadoop streaming多路输出方法和注意点(附超大数据diff对比源码)
xiaoneit的空间换差不多了,折腾啊
一点创业想法:读书类垂直博客
linux中的inode简单介绍
热门文章
网络爬虫的实现
bash shell中的数学计算
shell中不可不知的叹号
mysql 8 mybatis 自定义sql 里面不可写 注释,否则报错
solr managedschema 文件 定义字段与类型的 先后顺序 ,错了会报错,还不知道原因
shell Linux win10 拷贝shell 脚本到Linux 执行报错 bash: ./myshell.sh: /bin/bash^M: bad interpreter: No such file or directory
linux 安装 jdk1.8
java strip() 的使用 与 trim() 对比
linux 创建新core
solr 代码处抛异常导致没有关闭solr,导致报错SolrException:org.apache.solr.common.SolrException: Error opening new searcher Please check your logs for more information
Copyright © 2011-2022 走看看