当前上下文asp.net中不存在图像ID

时间:2012-05-01 04:16:48

标签: javascript .net

此代码出现以下错误。 我正在使用转发器来显示图像。图片ID是img .in jquery我使用$("#<%=img.ClientID %>")获取图片。但它的给出错误,如img在当前的上下文中并不存在。转发器ID为rptRepeater。 我怎么解决这个问题 ? $("#<%=img.ClientID %>") doesnot exists in current context

.NET代码

<asp:Repeater ID="RepeaterView" runat="server"> 
    <ItemTemplate> 
        <a onmouseout="SelectEnd()" onmouseover='<%#Eval("Coords","preview(\"{0}\");")%>'>     
            <asp:Image ID="ImageZoom" runat="server" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageUrl") %> ' Height="150" Width="150" >    
            </asp:Image> 
        </a> 
    </ItemTemplate> 
</asp:Repeater>

JavaScript代码

<script type="text/javascript"> 
    function preview(Coords) { 
        var arrResult = Coords.split(","); 
        var nx1 = arrResult[0]; 
        var ny1 = arrResult[1]; 
        var nx2 = arrResult[2]; 
        var ny2 = arrResult[3]; 
        var ias = $("#<%=ImageZoom.ClientID %>").imgAreaSelect({ instance: true });
        ias.setSelection(nx1, ny1, nx2, ny2, true); ias.setOptions({ show: true });     
        ias.update(); 
    }
</script>

1 个答案:

答案 0 :(得分:0)

你遇到的问题是没有一个id,你正在向页面添加多个元素,因此该代码不可能处理所有元素。你需要使它更通用。

尝试将代码更改为不需要ID的代码。

.NET代码

<asp:Repeater ID="RepeaterView" runat="server"> 
    <ItemTemplate> 
        <a onmouseout="SelectEnd()" onmouseover='<%#Eval("Coords","preview(this, \"{0}\");")%>'>     
            <asp:Image ID="ImageZoom" runat="server" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageUrl") %> ' Height="150" Width="150" >    
            </asp:Image> 
        </a> 
    </ItemTemplate> 
</asp:Repeater>

JavaScript代码

<script type="text/javascript"> 
    function preview(elem, Coords) { 
        var arrResult = Coords.split(","); 
        var nx1 = arrResult[0]; 
        var ny1 = arrResult[1]; 
        var nx2 = arrResult[2]; 
        var ny2 = arrResult[3]; 
        var ias = $(elem).find("img").imgAreaSelect({ instance: true });
        ias.setSelection(nx1, ny1, nx2, ny2, true); ias.setOptions({ show: true });     
        ias.update(); 
    }
</script>