meta:resourcekey引起的ASP.NET2.0多语言本地化技术分析

本文介绍ASP.NET 2.0中的多语言本地化技术,通过使用资源文件(.resx)实现页面元素的多语言显示。文章详细解释了如何设置资源文件的位置与命名规范,以及如何在控件中应用隐式本地化属性。

其实我刚一看,也不明白。唉,知识太欠缺了,没有办法,后来查资料得知:ASP.NET2.0多语言本地化技术。哎!

引用MSND:隐式本地化

(1)确保您有满足下列条件的本地资源文件(.resx 文件):它们位于 App_LocalResources 文件夹中。基名称匹配页名称。例如,如果您正在使用名为 Default.aspx 的页,则资源文件命名为 Default.aspx.resx(对于默认资源)、Default.aspx.es.resx、Default.aspx.es-mx.resx 等。文件中的资源使用命名约定resourcekey."property"。例如,密钥名称 Button1."Text"

(2)在控件标记中,添加一个隐式本地化属性。

<asp:Button ID="Button1" runat="server" Text="DefaultText" meta:resourcekey="Button1" />

所有资源文件都进行编译,并且 ASP.NET 在运行时使用 .NET Framework 资源管理器来针对默认资源文件中的每个资源检索适合区域性的资源。对于每个资源,ASP.NET 在页中查找相应的 resourcekey."property" 组合(在前面的示例中为 resourcekey="Button1"),然后使用检索到的值替换资源。

注意:CLR生成的中间语言文件,就是将你的代码*.cs或*.vb生成的文件. .NET FrameWork不认识*.cs或*.vb文件,只认识*.resx文件。资源文件在开发多语言系统中用到

<table cellSpacing="0" cellPadding="5" width="700" align="center" border="0"> <tr> <td bgColor='<%=Application[Session["Style"].ToString()+"xtable_bgcolor"]%>' ><asp:datagrid id="grid" runat="server" Width="688px" HorizontalAlign="Center" AutoGenerateColumns="False" AllowPaging="True" PageSize="5" onselectedindexchanged="grid_SelectedIndexChanged" meta:resourcekey="gridResource1" > <ItemStyle HorizontalAlign="Left"></ItemStyle> <Columns> <asp:BoundColumn Visible="False" DataField="STAND_ID" HeaderText="STAND_ID" meta:resourcekey="BoundColumnResource1"></asp:BoundColumn> <asp:BoundColumn DataField="CUST_CODE" HeaderText="廠內代碼" meta:resourcekey="BoundColumnResource2"></asp:BoundColumn> <asp:BoundColumn DataField="CUST_NAME" HeaderText="公司名稱" meta:resourcekey="BoundColumnResource3"></asp:BoundColumn> <asp:BoundColumn DataField="VERSION_NAME" HeaderText="版稱" meta:resourcekey="BoundColumnResource4"></asp:BoundColumn> <asp:TemplateColumn HeaderText="修改" meta:resourcekey="BoundColumnResource5"> <HeaderStyle Width="30px"></HeaderStyle> <ItemTemplate> <asp:ImageButton id="BtnEdit" runat="server" ImageUrl="..\images\button_edit1.gif" CommandName="BtnEdit" meta:resourcekey="BtnEditResource1"></asp:ImageButton> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="刪除" meta:resourcekey="BoundColumnResource6"> <HeaderStyle Width="30px"></HeaderStyle> <ItemTemplate> <asp:ImageButton id="BtnDel" runat="server" CommandName="BtnDel" ImageUrl="..\images\button_del1.gif" meta:resourcekey="BtnDelResource1"></asp:ImageButton> </ItemTemplate> </asp:TemplateColumn> </Columns> <PagerStyle Visible="False"></PagerStyle> </asp:datagrid>为什么我点击某一行无法触发grid_SelectedIndexChanged事件
最新发布
11-14
<table cellSpacing="0" cellPadding="5" width="700" align="center" border="0"> <tr> <td bgColor='<%=Application[Session["Style"].ToString()+"xtable_bgcolor"]%>' ><asp:datagrid id="grid" runat="server" Width="688px" HorizontalAlign="Center" AutoGenerateColumns="False" AllowPaging="True" PageSize="5" meta:resourcekey="gridResource1" > <ItemStyle HorizontalAlign="Left"></ItemStyle> <Columns> <asp:BoundColumn Visible="False" DataField="STAND_ID" HeaderText="STAND_ID" meta:resourcekey="BoundColumnResource1"></asp:BoundColumn> <asp:BoundColumn DataField="CUST_CODE" HeaderText="廠內代碼" meta:resourcekey="BoundColumnResource2"></asp:BoundColumn> <asp:BoundColumn DataField="CUST_NAME" HeaderText="公司名稱" meta:resourcekey="BoundColumnResource3"></asp:BoundColumn> <asp:BoundColumn DataField="VERSION_NAME" HeaderText="版稱" meta:resourcekey="BoundColumnResource4"></asp:BoundColumn> <asp:TemplateColumn HeaderText="修改" meta:resourcekey="BoundColumnResource5"> <HeaderStyle Width="30px"></HeaderStyle> <ItemTemplate> <asp:ImageButton id="BtnEdit" runat="server" ImageUrl="..\images\button_edit1.gif" CommandName="BtnEdit" meta:resourcekey="BtnEditResource1"></asp:ImageButton> </ItemTemplate> </asp:TemplateColumn> <asp:TemplateColumn HeaderText="刪除" meta:resourcekey="BoundColumnResource6"> <HeaderStyle Width="30px"></HeaderStyle> <ItemTemplate> <asp:ImageButton id="BtnDel" runat="server" CommandName="BtnDel" ImageUrl="..\images\button_del1.gif" meta:resourcekey="BtnDelResource1"></asp:ImageButton> </ItemTemplate> </asp:TemplateColumn> </Columns> <PagerStyle Visible="False"></PagerStyle> </asp:datagrid></td> </tr> </table>在保留修改删除按钮的基础上,点击面板中的任意按钮都可以触发查询事件,不是点击按钮,是点击面板的任意地方
11-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值