1

表示用の画像を動的に生成した後に yoxview を表示する方法を見つけようとしています。ユーザーが製品をクリックしたときに製品を表示する GridView があり、yoxview に表示するスクリプトを動的に生成し、スクリプトを登録します。 onLoad イベント。ページがロードされた後、yoxview は私が望むものではない div タブ内に表示されます。ページのロードが完了した後に yoxview で開く必要があります。

<script type="text/javascript">

        jQuery(document).ready(function () {

            //jQuery('a[rel*=facebox]').facebox({
            //    loading_image: '/images/fb/loading.gif',
            //    close_image: '/images/fb/closelabel.gif'
            //});

            jQuery(".thumbnails").yoxview({
                renderInfoPin: false
            });                        

        });

    </script>


<div id="yoxview" class="thumbnails">
        <div class="div_separator_10">
            &nbsp;
        </div>
        <asp:Image Visible="false" CssClass="product_thumbnail" ImageUrl="~/images/products/nophoto.gif"
            ID="imgEmpty" runat="server" ImageAlign="AbsMiddle" />
        <div class='captionwrapper'>
            <asp:PlaceHolder ID="phImages" runat="server" ClientIDMode="Static"></asp:PlaceHolder>
            <div class='captiondescription'>
                <div class='captiondescription_content'>
                    <asp:Literal ID="lblImageInfo" runat="server"></asp:Literal>
                </div>
            </div>
        </div>
    </div>



protected void LoadMultipleImages(string productName, List<string> images)
    {
        var builder = new StringBuilder();
        var builder2 = new StringBuilder();

        builder.Append("jQuery(document).ready(function(){jQuery('#yoxview').yoxview({renderInfoPin: false, images: [");

        if (images.Count > 0)
        {
            lblImageInfo.Text = string.Format("{0} more image(s) available", images.Count);
        }

        foreach (var image in images)
        {
            builder.AppendFormat("{{ media: {{ src: '{0}', title: '{1}' }}}},", image, productName);
        }

        builder.Append("]});});");

        //builder.Append("jQuery('#yoxview').yoxview('open');");
        //builder.Append("jQuery('#yoxview').click();");

        //builder.Append("document.getElementById('phImages').click();");
        //builder2.Append("document.getElementById('lnkProductImage').click();");
        //builder2.Append("jQuery('#lnkProductImage').click(function(event){return;});");

        ScriptManager.RegisterStartupScript(Page, typeof(string), "onLoadCall", builder.ToString(), true);
        //ScriptManager.RegisterStartupScript(Page, typeof(string), "onLoadCall", builder2.ToString(), true);
    }
4

0 に答える 0