2009-05-22 37 views
0

我有一个asp.net应用程序与一些本地资源。这些资源用于aspx和代码隐藏文件中:asp.net:部署本地资源 - 嵌入可能吗?

aspx: 
<asp:TextBox ID="TextBox1" runat="server" Text="<%$ Resources:testTag %>" /> 

.vb: 
TextBox1.Text = GetLocalResourceObject("testTag").ToString 

如果我将.resx文件与应用程序一起部署,则没有问题。

但是,如果我将resx文件上的构建操作更改为“嵌入式资源”,则资源不可用,即使它们位于构建的DLL中。

是否可以在DLL中部署资源,或者我坚持管理在服务器上部署resx文件的&?

+0

你有没有解决过这个问题?我目前正在尝试编写自己的ResourceProviderFactory来支持相同的场景,但是我还没有成功 - http://stackoverflow.com/questions/10533721/asp-net-how-to-get-assembly-from- virtual-path-in-custom-iresourceprovider-impl – Buthrakaur 2012-05-11 07:06:55

回答

0

是的,这是可能的。

结账this codeproject示例。这有点旧,但仍然有效。

另一个来自微软的例子是here

UPDATE

说实话,我还没有这么远用我们自己的本地化,但(我们仍然使用通常嵌入资源文件);然而,here is a link是关于如何从你的aspx页面获取资源管理器的例子。这是该主题中的最后一篇文章。

GeorgeZ指出要在page_init方法中加载资源管理器。我相信你可以把它放到你的所有页面继承的某种类型的BasePage中,以避免它直接在所有的代码后面。

+0

似乎没有办法使用这种机制来处理aspx页面中的本地化字符串。我们有很多标签在代码隐藏中从未被触及,但仍需要显示本地化的值。 – chris 2009-05-22 16:09:04