Asp.Net结合JS在图层上显示记录信息

来源:岁月联盟 编辑:zhuzhu 时间:2004-08-13
JS文件(这里命名为Function.js)

function MM_reloadPage(init)
{ //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d)
{ //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers()
{ //v6.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
obj.visibility=v; }
}

在DataGrid中建模板列

<asp:TemplateColumn>
<ItemTemplate>
<div onMouseOver="MM_showHideLayers('layer<%# DataBinder.Eval(Container, "DataItem.f_ID") %>','','show')" onMouseOut="MM_showHideLayers('layer<%# DataBinder.Eval(Container, "DataItem.f_ID") %>','','hide')">
<font color=blue><U>详细信息</U></font>
</div>
<span id='layer<%# DataBinder.Eval(Container, "DataItem.f_ID") %>' style="position:absolute; left=420; top:100; width:300; z-index:1; layer-background-color: #FFFFCC; border: 1px none #000000; visibility: hidden;">
<table width="100%" border="0" cellpadding="10" cellspacing="1" bgcolor="#000000">
<tr>
<td bgcolor="#FFFFCC">
<%# DataBinder.Eval(Container, "DataItem.f_Memo") %>
</td>
</tr>
</table>
</span>
</ItemTemplate>
</asp:TemplateColumn>

在你的aspx文件中包含<script src=Function.js></script>(假如JS文件与你的aspx文件在同一目录下),上面模板列中的f_ID是要显示表的主键(也就是DataGrid中的DataKeyField),f_Memo是用户移动鼠标到“详细信息”上时弹出的信息。