DropDownList aus Resourcefile befüllen

keks1984

Erfahrenes Mitglied
Morgen

also ich hab eine DropDownList in meiner asp.net Webanwendung je nachdem was für eine Sprache der Browser gerade hat, sollten in dieser DropDownList die Einträge in der jeweiligen Sprache angezeigt werden. Ich hab in einem Resourcefile (.resx) den key und den Inhalt gespeichert und in einer Datenbank sind ebenfalls die jeweiligen keys.

Sprich ich befülle die DropDownList aus einer Datenbank Tabelle (eine einzelne Spalte) und muß vor dem anzeigen auf der Website noch im Resourcefile den Inhalt zum Resourcekey auslesen.

Wie geht den das? Ich hatte um meine GridView´s zu befüllen die folgende Methode:
Code:
protected string GetMessage(object val)
    {
        string sprache = Session["Sprache"].ToString();
        string sprachcode = sprache.Substring(0, 2);

        System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo(sprachcode, true); 
        string wert = HttpContext.GetGlobalResourceObject("message", val.ToString(), culture).ToString();
        return wert;
    }

diese hab ich aus dem asp.net code wie folgt ausgelesen:
Code:
<ItemTemplate><asp:Literal ID="Literal1" runat="server" Text='<%# GetMessage(Eval("Bezeichnung"))%>' /></ItemTemplate>

Gibts sowas auch für die DropDownList? Ich bekomm das nicht so hin dass er´s richtig macht!
 
So ich habs jetzt selbst hinbekommen zwar durcheinander aber naja es geht.

Wenn es intressiert! Ich hab die DropDownList mit Item.Add() mit nem String einzeln befüllt.

Code:
protected void DropDownLoad(object sender, EventArgs e)
	{
		string sprache = Session["SpracheBenutzer"].ToString();
		string sprachcode = sprache.Substring(0, 2);
		System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo(sprachcode, true);

		SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString);
		con.Open();
		string strSQL1 = "SELECT count(Sprache) FROM dbo.Sprachen";
		SqlCommand cmd = new SqlCommand(strSQL1, con);
		int count = Convert.ToInt32(cmd.ExecuteScalar());
		
		for (int i = 0; i < count; i++)
		{
			string strSQL2 = "SELECT Sprache FROM dbo.Sprachen WHERE Id = @Id";
			SqlCommand cmd2 = new SqlCommand(strSQL2, con);
			cmd2.Parameters.AddWithValue("@Id", i + 1);
			string inhalt = Convert.ToString(cmd2.ExecuteScalar());

			string wert = HttpContext.GetGlobalResourceObject("message", inhalt, culture).ToString();
			DropDownListSprache.Items.Add(wert); 
		}
		DropDownListSprache.DataBind();
	}
 

Neue Beiträge

Zurück