返回首页

|:为ASP.NET 2.0的本地化下拉简介
的代码显示了一个简单的方法,如下拉资源file.nbsp约束力的ListItem为基础的控制;Backgroundnbsp;
的想法是存储在XML格式的数据,而不是名称收藏价值,并将其绑定到。NET控件使用的XmlDataSource对象。 使用Codenbsp;
我添加anbsp;字符串资源"MyCountryListquot;下拉控件中包含的XML数据。 Resource.en - US.resx

<countries>

  <country text="Pakistan" value="PK"/>

  <country text="Iran" value="IR"/>

  <country text="Afghanistan" value="AF"/>

</countries>
Resource.es - MX.resx{C}Default.aspx的
<form id="form1" runat="server">

        <asp:HyperLink ID="HyperLink1" runat="server" 

		NavigateUrl=" /Default.aspx?lang=esp">Esp</asp:HyperLink>

          

        <asp:HyperLink ID="HyperLink2" runat="server" 

		NavigateUrl=" /Default.aspx?lang=eng">Eng</asp:HyperLink><br />

        <br />

        <asp:Localize ID="Localize1" runat="server" 

		Text="<%$ Resources:Resource, Greeting%>"></asp:Localize>

        <br />

        <asp:XmlDataSource ID="XmlDataSource1" runat="server"></asp:XmlDataSource>

        <asp:DropDownList ID="DropDownList1" runat="server" >

        </asp:DropDownList>

</form>
Default.aspx.cs
protected void Page_Load(object sender, EventArgs e)

    {

        // loading xml from resource file into xmldatasource object

        XmlDataSource1.Data = Resources.Resource.MyCountryList;

        XmlDataSource1.EnableCaching = false;

        XmlDataSource1.DataBind();        



        DropDownList1.DataSourceID = "XmlDataSource1";

        DropDownList1.DataTextField = "text";

        DropDownList1.DataValueField = "value";

        DropDownList1.DataBind();

    }

   //The setting up the culture

    protected override void InitializeCulture()

    {

        string lang = "en-US";

        if (Request.QueryString["lang"] != null)

        {

            switch (Request.QueryString["lang"])

            {

                case "esp":

                    lang = "es-MX";

                    break;

                case "eng":

                    lang = "en-US";

                    break;

            }

        }

        System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo(lang);

        System.Threading.Thread.CurrentThread.CurrentCulture = ci;

        System.Threading.Thread.CurrentThread.CurrentUICulture = ci;

        base.InitializeCulture();

    } 

斜体行显示2种方法绑定到资源文件。您还可以下载本文附带的源代码。历史2009年一月一日:战后初期

回答

评论会员:游客 时间:2011/12/28
嗨,这是一个伟大的的方式和我实际上已经采取进一步和公正的DataFile属性,而不是在资源文件中定义,这一切看起来都很正常,但是,当我在我的XML日语字符文件(罚款)我似乎得到控制,而不是日语字符的小广场...任何想法,为什么
?亚历山大涅斯捷连科
评论会员:游客 时间:2011/12/28
提取字符串从代码到RESX,其自动翻译。尝试{A1}]免费。---最好的问候,涅斯捷连科亚历山大安全开发团队www.safedevelop.com