我在我的一个ascx文件中有一个ImageMap控件。当用户单击地图中的某个区域时,我试图使某些事情发生,但页面只是回发,而我的"imageMap_Click“事件处理程序从未被调用。有什么建议吗?
<asp:ImageMap ID="imageMap" runat="server" ImageUrl="~/images/MapImages/map.jpg" HotSpotMode="PostBack" OnClick="imageMap_Click">我的imageMap_Click看起来像这样,只是为了看看它是否被调用:
protected void imageMap_Click(object sender, ImageMapEventArgs e)
{
throw new NotImplementedException();
}发布于 2010-06-04 20:04:37
我已经找到了。这是由于控件禁用了视图状态,如下所示:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MapControl.ascx.cs" Inherits="XXX.MapControl" EnableViewState="false" %>
我不明白为什么。有人愿意告诉我吗?
发布于 2010-06-04 20:04:04
根据文档,您的图像映射中不应该包含点击映射的不同位置吗?
例如:
<asp:ImageMap ID="SaturnImage"
ImageUrl="~/saturn.PNG"
runat="server" OnClick="SaturnImage_Click">
<asp:CircleHotSpot AlternateText="planet" HotSpotMode=PostBack
PostBackValue="planet" Radius=40 X=100 Y=100 />
<asp:CircleHotSpot HotSpotMode=Inactive
Radius=60 X=100 Y=100 />
<asp:CircleHotSpot AlternateText="rings" HotSpotMode=PostBack
PostBackValue="rings" Radius=80 X=100 Y=100 />
</asp:ImageMap>因为我假设使用ImageMap时,当你点击它时,它只会在你点击设置为点击的部分时进行回发。如果没有任何映射的部分被点击,它不应该产生一个点击的事件。
https://stackoverflow.com/questions/2973823
复制相似问题