1

我有一个带有网格视图的页面。根据数据库中是否有视频网址,其中的一列显示播放图标。这部分是:

<asp:TemplateField HeaderText="" ItemStyle-CssClass="video" >
    <ItemTemplate>
        <asp:LinkButton ID="lbtVideoUrl" runat="server" OnClientClick="javascript:clicker('http://www.youtube.com/watch?v=qySK7GWFEAg')" ><img class='<%# Eval("Class", "{0}")  %>' src='<%# Eval("VideoImage", "{0}")  %>' alt="Video" title='<%# Eval("ToolTip", "{0}")  %>' /></asp:LinkButton>
    </ItemTemplate>
</asp:TemplateField>

应该处理这个的javascript是:

function clicker(theUrl) {
    var thediv = document.getElementById('displaybox');
    if (thediv.style.display == "none") {
            thediv.style.display = "";
            thediv.innerHTML = "<table width='100%' height='100%'><tr><td align='center' valign='middle' width='100%' height='100%'><object width='640' height='360'><param name='movie' value='" + theUrl + "'></param><param name='allowFullScreen' value='true'></param><param name='allowscriptaccess' value='always'></param><embed src='" + theUrl + "' type='application/x-shockwave-flash' width='640' height='360' allowscriptaccess='always' allowfullscreen='true'></embed></object><br><br><a href='#' onclick='return clicker();'>CLOSE WINDOW</a></td></tr></table>";
    } else {
        thediv.style.display = "none";
        thediv.innerHTML = '';
    }
    return false;
}

但是,当我单击按钮时,我会看到灰色叠加层和视频字段,但在显示任何内容之前,叠加层再次关闭。我一定错过了什么,但不知道是什么......

还有一条信息(不知道是否相关):我必须在后面的代码中添加以下内容才能让它“工作”到目前为止:

protected void gv_SelectedIndexChanged(object sender, EventArgs e)
{
}

PS下一步是从数据库中获取url,所以我可以为不同的图标添加不同的链接。

4

0 回答 0