1

画像が 1 つだけのユーザー コントロールを作成しました。そして、Web フォームにプレースホルダーを使用してユーザー コントロールを動的に作成しています。

ユーザー コントロールに CSS と js ファイルの参照を追加しましたが、画像の下には影響しません。

注: 画像は Web フォームに表示されます。

これはユーザー コントロールです。

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="IVT_DisplayImage.ascx.cs" Inherits="Sublayout_IVT_DisplayImage" %>

<link href="~/css/demo.css" rel="stylesheet" type="text/css" />
<link href="~/css/imagezoom/imagezoom.css" rel="stylesheet" type="text/css"
/>
<script src="~/js/jquery-1.8.3.min.js" type="text/javascript"></script>
<script src="~/js/jquery.imagezoom.min.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $('#imgIdCard').ImageZoom();
    });
</script>
<div class="page">
    <div class="box cf">
        <div class="left"> <span class="demowrap">
                        <asp:Image ID="imgIdCard" runat="server" />
                    </span>

        </div>
    </div>
</div>

これは Web フォームです。

<div>
    <asp:placeholder ID="plhDisplayImage" runat="server"></asp:placeholder>
</div>

これは、Web フォームの背後にあるコードです。

Sublayout_IVT_DisplayImage ivtDisplayImage = new Sublayout_IVT_DisplayImage();


protected void Page_Load(object sender, EventArgs e) {
    ivtDisplayImage = (Sublayout_IVT_DisplayImage) LoadControl("~/Sublayout/IVT_DisplayImage.ascx");
    ivtDisplayImage.ImageURL = "~/demo_assets/large/1.jpg";
    plhDisplayImage.Controls.Add(ivtDisplayImage);
}

そして、これはフォルダの構造です:

css/
    demo.css
css/imagezoom/  
    imagezoom.css
js/
    jquery-1.8.3.min.js
    jquery.imagezoom.min.js
Sublayout/
    IVT_DisplayImage.ascx
Root:
    Default.aspx
4

1 に答える 1

0

パスの問題だと思います~。ユーザー コントロールのパスから を削除してみてください。 編集:をに置き換えてみて~ください..

編集: IDを介して画像をターゲットにしているようですが、これはrunat="server"コントロールです。そのため、別の ID でレンダリングされます (HTML で確認できます)。

ID を介して (JQuery で) 画像をターゲットにするには、クライアント ID を解決する必要があります (その方法については多くのトピックを見つけることができます) が、CSS でそれを行うことはできません。

代わりに、画像にクラスを指定し、クラス セレクター (JQuery および CSS) を介して画像をターゲットにすることができます。これが最も簡単な方法です。

最終的な解決策 (所有者の応答から) Web フォームに参照を追加し、それをユーザー コントロールに削除すると、うまく機能します。ご支援いただきありがとうございますが、実際、ID が問題でした。

于 2013-08-29T08:24:51.417 に答える