1

グリッドビューのあるページがあります。データベースにビデオ URL があるかどうかに応じて、列の 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;
}

ただし、ボタンをクリックすると灰色のオーバーレイとビデオ フィールドが表示されますが、何かが表示される前にオーバーレイが再び閉じられます。私は何かが欠けているに違いありませんが、何が手がかりがありません....

もう1つの情報(関連性があるかどうかはわかりません):これまでのところ「機能」させるには、コードビハインドに次を追加する必要がありました:

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

PS 次のステップは、データベースから URL を取得することです。そのため、さまざまなリンクをさまざまなアイコンに追加できます。

4

0 に答える 0