当它放在asp服务器控件中时,在javascript中访问图像标记id,错误:服务器标记没有很好地定义

时间:2013-02-14 12:11:05

标签: javascript asp.net

我的代码如下所示

 <asp:TemplateField FooterStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center"
            HeaderStyle-CssClass="Column1">
            <ItemTemplate>
                <div class="Column1" style="visibility:<%# SetEditImagesVisibility()%>;">
                    <img src="" id="iEdit"  alt="Edit" class='btntransparent' onclick="EditQC('<%#Eval("ID") %>')" />
                    <img src="" id="iDelete" alt="Delete" class='btntransparent'  onclick="DeleteQ('<%#Eval("ID") %>')" />
                </div>
            </ItemTemplate>
            <HeaderTemplate>
                <div style="visibility:<%# SetAddImagesVisibility()%>;">
                    <img src="" alt="Add" class='btntransparent' id="iPlus" runat="server" onclick="AddTestingID()" />
                </div>
            </HeaderTemplate>
        </asp:TemplateField>

这里我需要在javascript(iEdit和iDelete)中访问img tag id但是我收到错误 Server标记定义不明确 javascript代码如下所示

  document.getElementsById('iEdit').src = HostedPath + 'pics/edit.gif';
  document.getElementsById('iDelete').src = HostedPath + 'pics/edit.gif';

任何人请帮我解决这个问题。 提前致谢

1 个答案:

答案 0 :(得分:0)

尝试更改onclick这样的属性:

<img src="" id="iEdit" alt="Edit" class='btntransparent' onclick='<%# "EditQC(" + Eval("ID").ToString() + ")" %>' />
<img src="" id="iDelete" alt="Delete" class='btntransparent'  onclick='<%# "DeleteQ(" + Eval("ID").ToString() + ")" %>' />

Eval方法必须包装整个属性,而不是标记真的会被误认为。