سؤال

لدي عنصر تحكم الصورة التالي داخل مكرر. أحاول الحصول على اسم المستخدم لتقديمها بين ~ / profilepics / و .jpg ولكن أحصل على الإخراج التالي المقدمة

/Profilepics/٪3C٪25#databinder.eval(container.dataitem ،٪20٪22usernamefrom٪22 )٪20٪25٪3e.jpg.

هنا هو العلامة

<asp:Image ID="Image1" runat="server" ImageUrl='~/profilepics/<%#DataBinder.Eval(Container.DataItem, "username") %>.jpg' />

لقد جربت أيضا نفس الشيء ولكن مع اقتباسات مزدوجة والحصول على نفس النتيجة.

<asp:Image ID="Image1" runat="server" ImageUrl="~/profilepics/<%#DataBinder.Eval(Container.DataItem, "username") %>.jpg" />
هل كانت مفيدة؟

المحلول

لن يعمل بهذه الطريقة. لن تأخذ WebControl صورة مثل هذه العلامات. الطريقة المشتركة هي استخدام حدث ItemDatabound لتعيين مصدر الصورة لكل عنصر تحكم في الصورة داخل عنصر مكرر.

إذا كنت ترغب في استخدام هذه العلامات، فلا تستخدم WebControl، فجرب هذا:

<img src='<%ResolveClientUrl("~/profilepics")%>/<%#DataBinder.Eval(Container.DataItem, "username") %>.jpg' />

إخلاء المسئولية: لم أقم باختبار الرمز الدقيق أعلاه ولكن يجب أن يعمل المفهوم.

نصائح أخرى

لا يمكنك استخدام بناء جملة DataBinding داخل عنصر تحكم الخادم. هل حاولت مع علامة IMG HTML عادي بدلا من ذلك؟

<img src='/profilepics/<%#Eval("username") %>.jpg' />
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top