Asp.net 根据区域性将图像更改为站点

Asp.net 根据区域性将图像更改为站点,asp.net,Asp.net,我正在尝试使用resx文件更改网站上的ImageButton。我尝试使用meta:ResourceKey=“imgBtnSubmit”分配ImageButton。然后在我的resx文件中,我添加了imgBtnSubmit.ImageUrl,并将该url分配给我的新ImageButton。这对我不起作用。有没有人能告诉我我做错了什么,或者有没有其他方法可以做到这一点?谢谢。 你可能想考虑的是用背景图像按钮(或者用其他背景元素的图片来伪造按钮),并覆盖文本。然后,您将能够基于区域性更改文本,而无需更

我正在尝试使用resx文件更改网站上的ImageButton。我尝试使用meta:ResourceKey=“imgBtnSubmit”分配ImageButton。然后在我的resx文件中,我添加了imgBtnSubmit.ImageUrl,并将该url分配给我的新ImageButton。这对我不起作用。有没有人能告诉我我做错了什么,或者有没有其他方法可以做到这一点?谢谢。

你可能想考虑的是用背景图像按钮(或者用其他背景元素的图片来伪造按钮),并覆盖文本。然后,您将能够基于区域性更改文本,而无需更改背景图像。

您可以通过编写自定义ExpressionBuilder来完成此操作

这样,您就可以根据您的文化信息影响ImageUrl的位置

它看起来像:

<asp:imagebutton runat="server" id="img1" ImageUrl="<%$ ImageResources: newItem.png %>" />


ImageResources是自定义expressionbuilder的名称。我只是想知道图像的名称。我将图像放在/app_themes/[theme name]/images/[culturecode]中,因此我的expressionbuilder会根据提供的文件名、当前主题和文化代码创建该url。

感谢您的回答,但我不必创建自定义expressionbuilder,它就能正常工作。有一个内置的“资源”ExpressionBuilder。这就是我所做的:

<asp:imagebutton runat="server" id="img1" ImageUrl="<%$Resources:ImageName%>"/>
default.aspx.es.resx:

ImageName ----- Spanish_Image_Button.jpg

我必须指出,前面的答案也是一个好答案。我现在就是这样做的:)不过,如果你别无选择,我的解决方案非常有效。只要你的背景图像不沿X轴变化,这就行了。圆角之类的东西会根据文本的长度进行拉伸或压缩,这看起来不太舒服。好吧,你可以将图像分割成边/角,再加上一点css,它看起来会很好
ImageName ----- Spanish_Image_Button.jpg