كيفية استخدام الموارد في الصورة asp.net موقع على شبكة الإنترنت ؟

StackOverflow https://stackoverflow.com/questions/244807

سؤال

لدي c# الموقع الذي يجعل من استخدام الكثير من الصور مع جزءا لا يتجزأ من النص الانكليزي.

كيف يمكنني استخدام معيار الموارد ملف مبادلة الصور اعتمادا على اللغة ؟

لدي ملف resx في App_GlobalResources الدليل, ولكن أنا لا يمكن أن يبدو للحصول على الوتر إلى asp:التحكم في الصورة من أجل imageurl بشكل صحيح.

أفكار ؟

تحديث:

للحصول على مزيد من المعلومات هنا هو صورة الوسم code:

<asp:image runat="server" ID="img2" ImageUrl="<%$Resources: Resource, cs_logo %>" />

النتيجة على جانب العميل هو:

<img id="img2" src="System.Drawing.Bitmap" style="border-width:0px;" />

علما أن المصدر هو واضح ليس ما كنت أتوقع...

هل كانت مفيدة؟

المحلول

يمكنك تخزين عنوان الصورة في ملف الموارد واستخدام التالية مضمنة رمز في التحكم

<asp:Image ImageUrl="<%$resources:Image1 %>" />

التحديث

هذا الرابط يمكن أن تكون مفيدة على ما كنت تحاول إنجاز

أو

يمكنك أيضا محاولة تخزين المورد سلسلة وتعيين القيمة إلى عنوان الموقع بدلا من تخزين الصورة في resouce الملف.

نصائح أخرى

الشيء الوحيد الذي يمكن القيام به هو محاولة لخلق بسيطة "صورة الخدمة" التي يمكن أن تخدم ما يصل صورة في شكل مناسب من الموارد المضمنة.

ليس لديك لإنشاء خدمة الإنترنت نفسها ، يمكنك ببساطة إنشاء صفحة aspx وفي مدونة وراء تغيير الرد.ContentType أن "image/png" أو أيا كان الشكل الذي تفضله.هذا يتطلب أيضا الحصول على المعلمة في عنوان الصفحة نفسها ، ولكن هذا يمكن تصفيتها بسهولة.حتى Page_Load طريقة خدمة الصور قد تبدو شيئا مثل هذا:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

      Dim FinalBitmap As Bitmap
      Dim strRenderSource As String
      Dim msStream As New MemoryStream()

      strRenderSource = Request.Params("ImageName").ToString()

      ' Write your code here that gets the image from the app resources.
      FinalBitmap = New Bitmap(Me.Resources(strRenderSource))
      FinalBitmap.Save(msStream, ImageFormat.Png)

      Response.Clear()
      Response.ContentType = "image/png"

      msStream.WriteTo(Response.OutputStream)

      If Not IsNothing(FinalBitmap) Then FinalBitmap.Dispose()

End Sub

ثم على صفحة ASPX لديك...

<asp:Image ImageUrl="http://localhost/GetImage.aspx?ImageName=Image1" />

لا تنسى أن نظام الاستيراد.الرسم و النظام.الرسم.التصوير في الصفحة.

إذا كنت تستخدم الموارد العالمية الملف تحتاج إلى إضافة مثل هذا

<img id="WelocmeICon" runat="server"  alt="welcome icon" 
     src="<%$resources:NmcResource,WelcomeIcon %>"  />

و لأنني استخدام img التحكم أضفت runatserver و معرف عن ذلك

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