奇怪的 JS 脚本 ,后台代码事件 调用和前台的 奇怪现象?? 求助高人
同一个JS脚本 在前台就可以触发鼠标事件 接受字符串 输出,在后台 只能触发事件接受 数字输出 ,字符串就报错 ,太奇怪了,请各位高人指点啊!!!
前台 代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="SuperMap.IS.WebControls" Namespace="SuperMap.IS.WebControls"
TagPrefix="SMIS" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script src="scripts/ToolTip.js" type="text/javascript"></script>
</head>
<body>
<div id="show" style="BORDER-RIGHT: #cccccc 3px solid;PADDING-RIGHT: 10px; BORDER-TOP: #cccccc 3px solid; PADDING-LEFT: 10px; Z-INDEX: 100; LEFT: 528px; VISIBILITY: hidden; PADDING-BOTTOM: 10px; BORDER-LEFT: #cccccc 3px solid; WIDTH: 100px;HEIGHT: 150px; COLOR: #666666; PADDING-TOP: 10px; BORDER-BOTTOM: #cccccc 3px solid; POSITION: absolute; TOP: 296px; BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: left"></div>
<form id="form1" runat="server">
<div style="text-align: center">
<SMIS:ToolbarControl ID="ToolbarControl1" runat="server" BackColor="WhiteSmoke" BorderColor="Gray"
BorderStyle="Dashed" BorderWidth="1px" Height="25px" MapControlID="MapControl1"
Width="222px">
<SMIS:ViewEntireToolControl ID="ToolbarControl1_ViewEntireToolControl1" runat="server"
Height="22px" MapControlID="MapControl1" Width="24px" />
<SMIS:QuickZoomInToolControl ID="ToolbarControl1_QuickZoomInToolControl1" runat="server"
Height="22px" MapControlID="MapControl1" Width="24px" />
<SMIS:QuickZoomOutToolControl ID="ToolbarControl1_QuickZoomOutToolControl1" runat="server"
Height="22px" MapControlID="MapControl1" Width="24px" />
<SMIS:PanToolControl ID="ToolbarControl1_PanToolControl1" runat="server" MapControlID="MapControl1" />
<SMIS:ZoomInToolControl ID="ToolbarControl1_ZoomInToolControl1" runat="server" MapControlID="MapControl1" />
<SMIS:ZoomOutToolControl ID="ToolbarControl1_ZoomOutToolControl1" runat="server"
MapControlID="MapControl1" />
<SMIS:ViewPreviousToolControl ID="ToolbarControl1_ViewPreviousToolControl1" runat="server"
Height="22px" MapControlID="MapControl1" Width="24px" />
<SMIS:ViewNextToolControl ID="ToolbarControl1_ViewNextToolControl1" runat="server"
Height="22px" MapControlID="MapControl1" Width="24px" /></SMIS:ToolbarControl>
<br />
<%-- 加到这里 是有效的 ,在 CustomLayer 生成的标注 触发 js 事件 onmouseover="showTip(8);" onmouseout="hideTip();" 只能输出数字,字符串报错 “未定义”--%>
<SMIS:MapControl ID="MapControl1" onmouseover="showTip(“sdasdasdad”);" onmouseout="hideTip();" runat="server" BorderColor="Gray" BorderStyle="Solid"
BorderWidth="1px" Height="600px" MapName="天津市@大港区"
MapUrl="http://QRMZCDOF18POCUW/output/15G6651048E71438_E8248D50.png?t=9ULy5vNQ38" MaxScale="0"
MinScale="0" Width="800px" OnMapSwitched="MapControl1_MapSwitched" MapServer-Address="192.168.16.241" />
<asp:ImageButton ID="ImageButton1" onmouseover="showTip('你好!你好!');" onmouseout="hideTip();" runat="server" ImageUrl="~/images/blue.gif"
Width="216px" /></div>
</form>
</body>
</html>
后台代码:
using System;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using SuperMap.IS.WebControls.EventArguments;
using SuperMap.IS.Web;
using SuperMap.IS.WebControls;
using SuperMap.IS.WebControls.Utility;
using SuperMap.IS.Utility;
using SuperMap.IS.ServiceInterface;
using System.Xml;
using System.Data.SqlClient;
using System.Messaging;
using System.Data.OleDb;
using System.Collections.Generic;
using System.Collections;
using System.Configuration;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
MapControl1.ClientAction = "PAN";
}
protected void MapControl1_MapSwitched(object sender, MapSwitchedEventArgs e)
{
QueryParam queryParam = new QueryParam();
queryParam.IsAllLayer = false;
queryParam.Highlight.HighlightResult = false;
QueryLayer myQueryLayer = new QueryLayer();
myQueryLayer.Name = "监控企业@大港区";
myQueryLayer.ReturnFields = new string[1];
myQueryLayer.ReturnFields[0] = "NAME";
myQueryLayer.WhereClause = "smid>0";
queryParam.Layers = new QueryLayer[1];
queryParam.Layers[0] = myQueryLayer;
queryParam.HasGeometry = true;
ResultSet resultSet0 = MapControl1.QueryBySQL(queryParam);
MapControl1.CustomLayer.Visible = true;
if (resultSet0 != null)
{
if (resultSet0.CurrentCount > 0)
{
int rsNO = resultSet0.Recordsets.Length;
for (int i = 0; i < rsNO; i++)
{
if (resultSet0.Recordsets[i].LayerName == "监控企业@大港区")
{
//记录数
int rdNO = resultSet0.Recordsets[i].Records.Length;
if (resultSet0.Recordsets[i].Records.Length > 0)
{
for (int j = 0; j < rdNO; j++)
{
MapCoord mc = resultSet0.Recordsets[i].Records[j].Center;
CustomLayer cusLayer = new CustomLayer();
//针对 CustomLayer 生成的标注 就不能输出 字符串 报错“未定义”
//但是 把 事件 加到 HTML 源码的 Mapcontrol 控件上是有效的 ,不知为什么 请高人,看一看谢谢,帮助修改一下!
string temp = "<img src='images/hotball.gif'onMouseOver='showTip('"+"aaaaaaaaaa"+"');' onmouseout='hideTip();'></img>";
MapControl1.CustomLayer.Marks.Add(j.ToString(), mc.X, mc.Y,temp, 50, 50);
}
}
}
}
}
}
MapControl1.Update();
}
}
问题JS 脚本 看附件吧 超出帖子 字数限制了
[解决办法]
onMouseOver='showTip(\"'aaaaaaa'\");'要多个空格
然后里面传参数错误了应该象我这样传应该可以
