powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / InitializeCulture()
2 сообщений из 2, страница 1 из 1
InitializeCulture()
    #37624955
Igor Bakay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте знатоки, вопрос простой, есть страничка которую могу просматривать на 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
InitializeCulture()
    #37625054
Igor Bakay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так как не было ответов в принцепе Я решил это пока так

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


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