Frage

Ich habe eine c # Website, die Verwendung von vielen Bildern mit eingebettetem Englisch Text macht.

Wie kann ich eine Standard-Ressourcendatei verwenden, um Bilder von der Sprache abhängig zu tauschen?

Ich habe eine resx Datei in meinem App_GlobalResources Verzeichnis, aber ich kann nicht scheinen, um es in ein asp gesteckt zu bekommen. Bildsteuerung für die imageurl richtig

Ideen?

UPDATE:

Für einige weitere Informationen, hier ist das Bild-Tag-Code:

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

Das Ergebnis auf der Client-Seite ist:

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

Beachten Sie, dass die Quelle ist offensichtlich nicht das, was ich erwartet hatte ...

War es hilfreich?

Lösung

können Sie die URL des Bildes speichern in Ihrer Ressource-Datei und verwenden Sie den folgenden Inline-Code in der Steuerung

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

Update

Link könnte hilfreich sein, auf das, was Sie versuchen zu erreichen

oder

Sie können auch die Ressource als String gespeichert versuchen, den Wert auf die URL-Position gesetzt, anstatt das Bild in der resouce-Datei zu speichern.

Andere Tipps

Eine Sache, die Sie könnten versuchen, zu tun, ist einen einfachen „Image-Service“ zu schaffen, die das Bild im richtigen Format aus den eingebetteten Ressourcen dienen kann.

Sie müssen nicht Web-Service selbst erstellen, geben Sie einfach eine aspx Seite und im Code erstellen hinter Sie die Response.ContentType zu sein „image / jpeg“ oder was auch immer Format, das Sie bevorzugen ändern. Dies erfordert auch einen GET-Parameter in der URL der Seite selbst, aber das leicht gefiltert werden kann. So ist die Page_Load-Methode des Bildes Service könnte wie folgt aussehen:

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

Dann wieder auf die ASPX-Seite haben Sie ...

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

Oh, und vergessen Sie nicht, System.Drawing und System.Drawing.Imaging in der Seite zu importieren.

Wenn Sie globale Ressourcen verwenden Datei, die Sie es wie folgt hinzufügen müssen

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

und weil ich img Steuerung verwende ich hinzugefügt runatserver und id für sie

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top