Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / InitializeCulture() / 2 сообщений из 2, страница 1 из 1
21.01.2012, 00:35:13
    #37624955
Igor Bakay
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InitializeCulture()
Здравствуйте знатоки, вопрос простой, есть страничка которую могу просматривать на 3 языках, всё работает но вот в чём дело, допустим у меня dropdownlist где сейчас One, Two, Three будет заполнятся динамически с базы данных, как в коде прописать такое чтобы dropdownlist все listitems на которые есть код подходящий переводились а если же нету перевода на такой текст то тогда оставался текст который пришёл с базы. Прикрепил файл HTML и файл с логикой. Спасибо огромное


Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1.Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" 
            Text="<%$ Resources:Resource, Button %>" />

        <asp:Label ID="Label1" runat="server" Text="<%$ Resources:Resource, One %>"></asp:Label>
        

        

        <asp:DropDownList ID="DropDownList2" runat="server">
            <asp:ListItem>One</asp:ListItem>
            <asp:ListItem>Two</asp:ListItem>
            <asp:ListItem>Three</asp:ListItem>
        </asp:DropDownList>
        

        

        

        <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 
            onselectedindexchanged="DropDownList1_SelectedIndexChanged">
            <asp:ListItem Value="en">English</asp:ListItem>
            <asp:ListItem Value="he">Hebrew</asp:ListItem>
            <asp:ListItem Value="ru">Russian</asp:ListItem>
        </asp:DropDownList>
    </div>
    </form>
</body>
</html>





Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Threading;
using System.Globalization;

namespace WebApplication1
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected override void InitializeCulture()
        {
            if (Request.Form["DropDownList1"] != null)
            {
                string Lang = Request.Form["DropDownList1"];

                UICulture = Lang;
                Culture = Lang;

                Thread.CurrentThread.CurrentCulture =
                    CultureInfo.CreateSpecificCulture(Lang);
                Thread.CurrentThread.CurrentUICulture = new
                    CultureInfo(Lang);


            }
            base.InitializeCulture();
        }

        protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }
    }
}
...
Рейтинг: 0 / 0
21.01.2012, 11:57:25
    #37625054
Igor Bakay
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InitializeCulture()
Так как не было ответов в принцепе Я решил это пока так

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
        protected void Page_Load(object sender, EventArgs e)
        {
            foreach (ListItem l in DropDownList2.Items)
            {

                l.Text = Resources.Resource.ResourceManager.GetString(l.Text);

            }
        }



а в HTML

Код: html
1.
2.
3.
4.
5.
        <asp:DropDownList ID="DropDownList2" runat="server" ViewStateMode="Disabled">
            <asp:ListItem>One</asp:ListItem>
            <asp:ListItem>Two</asp:ListItem>
            <asp:ListItem>Three</asp:ListItem>
        </asp:DropDownList>



добавил ViewStateMode="Disabled".

вопрос правильно ли так, сработает ли такой же вариант если dropdownlist будет заполняться с базы данных и ещё такой вопрос, как можно скажем сделать по другому, пробежаться по всем контролам на странице и все контролы у которых есть text чтоб переводился автоматом, ну а для dropdownlists как Я понимаю свой foreach нужен будет и наверное ещё для некоторых контролов.


Спасибо
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / InitializeCulture() / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]