日期:2014-05-17  浏览次数:20478 次

如何在每个ItemTemplate中加载js?
创建了一个datalist,在itemtemplate中加入了js,结果只有第一个ItemTemplate加载了这个js,后面完全没有加载。

<asp:DataList ID="Images" runat="server" >
    <ItemTemplate>
        <script>在id='player'的div中嵌入一个视频,视频地址是<%# DataBinder.Eval(Container.DataItem, "video_ID") %></script>
        <div id="1"></div>
        <div id="2"></div>
        <div id="player"><div>
    </ItemTemplate>


这个datalist的目的就是从数据库读出电影的信息,然后加载出来,左边图片,中间文字,右边视频。
视频加载的时候不是url,是一个ID,然后要通过JS来根据ID加载。结果是第一个会加载,后面的就不加载了。
求教!谢谢了。

datalist JavaScript asp.net

------解决方案--------------------
<div id="player"><div>
问题在这里
页面中会生成 多个这个样的标签,而通过ID获取DOM对象时只能获取到第一个。
所以建议你这样做:
<ItemTemplate>
        <script>在id='player+video_id'的div中嵌入一个视频,视频地址是<%# DataBinder.Eval(Container.DataItem, "video_ID") %></script>
        <div id="1"></div>
        <div id="2"></div>
        <div id="player<%# DataBinder.Eval(Container.DataItem, "video_ID") %>"><div>
    </ItemTemplate>
------解决方案--------------------
楼上正解,在使用ID访问块时要特别注意这个。。
------解决方案--------------------
感觉JS和HTML分开好点,获取对象、添加事件有多种多样的方法