Pergunta

Eu tenho um # local c que faz uso de uma série de imagens com texto incorporado Inglês.

Como posso usar um arquivo de recurso padrão para trocar imagens dependendo do idioma?

Eu tenho um arquivo resx no meu diretório App_GlobalResources, mas eu não consigo fazê-lo conectado a uma asp:. Controle de imagem para o imageurl corretamente

Idéias?

UPDATE:

Para alguns mais informações, aqui está o código tag de imagem:

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

O resultado no lado do cliente é:

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

Note que a fonte não é, obviamente, o que eu esperava ...

Foi útil?

Solução

Você pode armazenar o url da imagem em seu arquivo de recurso e use o seguinte código embutido no controle

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

Atualização

ligação poderia ser útil no que você está tentando realizar

ou

Você também pode tentar armazenado o recurso como corda e defina o valor para a localização url em vez de armazenar a imagem no arquivo resouce.

Outras dicas

Uma coisa que você pode tentar fazer é criar um simples "serviço de imagem" que pode servir até a imagem no formato adequado dos recursos incorporados.

Você não tem que criar a si mesmo serviço web, você simplesmente criar uma página aspx e no código atrás de você mudar o do Response.ContentType ser "image / png" ou qualquer formato que você preferir. Isso também requer um parâmetro get a URL para a página em si, mas que pode ser facilmente filtrada. Assim, o método Page_Load do seu serviço de imagem poderia ser algo como isto:

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

Depois de volta na sua página ASPX que você tem ...

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

Ah, e não se esqueça de importar System.Drawing e System.Drawing.Imaging na página.

Se você estiver usando recursos globais arquivo que você precisa adicioná-lo como este

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

e porque eu uso img controlar i adicionado runatserver e id para ele

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top