سؤال

حسنا، لقد كنت أعمل على هذا المعرض لبعض الوقت وأظل الحصول على القنازات الصغيرة. لقد حان الوقت الآن لإنهاءه. لدي DataList الذي يرتبط بمجموعة عناوين URL Image Image * .aspx التي تحتوي على معرف مصغر يتم إرساله عبر عنوان URL. أحتاج الآن إلى تنفيذ حدث OnClick، عندما ينقر المستخدم على صورة، فإنه يجلب لهم الصورة الفعلية.

مثال عنوان URL:
(thumbnail) = ~ / remerpages / photo / getthumbnail.aspx؟ معرف = 7
(Actualpic) = ~ / UserPages / photo / GetPhoto.aspx؟ معرف = 7

ما أحتاجه: كيف يمكنني الحصول عليه بحيث يكون لكل صورة حدث onclick؟ حاولت إضافة OnClick إلى CASC SRC لكنها لم تنجح. من الصعب لأنها ليست تحكما فعليا في الصورة، وهي موجودة داخل DataList. أحتاج أيضا إلى معرفة كيفية استخراج عنوان URL المصغر عند النقر حتى أتمكن من الاستيلاء على المعرف وإعادة التوجيه إلى الصورة الفعلية. ساعدنى من فضلك!

<asp:DataList ID="dlImages" runat="server" 
    RepeatColumns="5" 
    RepeatDirection="Horizontal" 
    RepeatLayout="Flow">

    <ItemTemplate>
        <img src="<%# ResolveUrl((string)Container.DataItem) %>" />
    </ItemTemplate>

</asp:DataList>

رمز وراء:

dlImages.DataSource = ImageUrls;
dlImages.DataBind();
هل كانت مفيدة؟

المحلول

يمكنك التفاف ذلك في a بطاقة شعار؟

<ItemTemplate>
    <a href="<%# ResolveUrl(String.Format("~/UserPages/Photo/GetPhoto.aspx?id={0}", Container.DataItem)) %>"><img src="<%# ResolveUrl(String.Format("~/UserPages/Photo/GetThumbnail.aspx?id={0}", Container.DataItem)) %>" /></a>
</ItemTemplate>

هذا يفترض لك DataItem يحتوي فقط على المعرف.

نصائح أخرى

يحاول:

<ItemTemplate>
    <img src="<%# ResolveUrl((string)Container.DataItem) %>" onclick="doSomething(this)" />
</ItemTemplate>

بعد ذلك، يمكنك ببساطة تطبيق وظيفة Dosomething التي يوضح المعرف من "this.src" ويفعل كل ما تريده.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top