2017-08-08 22 views
-1

私はASP.NET MVCで簡単なAPPを構築しています。誰も私に多言語サイトとしてそれを行う方法を教えてください、セッションで言語を格納し、セッション、リンク、ヘルプやチュートリアルで、サーバー側で言語を変更するには、私はそのCMSでニュースを投稿するので、私はenglisHを押すと、Asp.net多言語Webアプリケーション

+0

使用コードプロジェクトhttps://www.codeproject.com/Articles/526827/MVC-Basic-Site-Step-Multilingual-Site-Skeletonは多言語の基本的な理解を持っており、あなたの要求に応じて先進的な機能を探ることができます –

+0

私はセッションで作業してからコントローラと通信する必要があります。 – ttgg

答えて

0

(これはvbで実行されますが、C#が必要な場合はコードコンバータが使用できますが、原則は同じです) これはaで実行できます。このような構造のXMLファイル。バックエンドの

<body> 
    <asp:button runat="server" id="btnLangFr" text="Fr"/> 
    <asp:button runat="server" id="btnLangEn" text="En"/> 
    <asp:label runat="server" id="lblTitle" /> 
    <asp:label runat="server" id="lblParagraph" /> 
<body> 

例:

<globalization> 
    <!-- the lang attribute is a made up attribute. it helps with search 
     further on--> 
    <content lang="fr"> 
     <title>je suis un titre</title> 
     <text>et ceci est un paragraphe</title> 
    </content> 
    <content lang="en"> 
     <title>this is a title</title> 
     <text>and this is a paragraph</title> 
    </content> 
</globalization> 

、あなたが必要なすべてが選択されているどの言語...あなたのバックエンドに依存してHTMLを変更されたHTMLの 例を行うことです

Protected Sub btnLangEn(sender As Object, e As EventArgs) handles btnLangEn.click 
    Dim xmlDoc As XmlDocument = New XmlDocument() //defines xmldoc 
    xmlDoc.Load(Server.MapPath("globalization.xml")) //gets .xml file 
    Dim root As XmlElement = xmlDoc.DocumentElement //defines root 
    'next line sets a list of all the <content> tags 
    Dim elemList As XmlNodeList = root.GetElementsByTagName("lang") 
    'insert code to change the <asp:label> tags to be equal to the text 
    'between the corresponding xml tags 
End Sub 

正しいcontentタグを取得するには、正しいlang属性を探すループを作成する必要があります

が見つかったら、変数にタグを保存します(例: Dim ActiveLang as xmlElement = root.ChildNodes.ItemOf(index of loop)

あなたは... activeLang.GetElementsByTagName("title")(0).InnerText をそうのような目的のタグのテキストを取得し、このようなコードの行を行うことができます。

lblTitle.text = activeLang.GetElementsByTagName("title")(0).InnerText 
+0

質問を再フォーマットして横スクロールバーが消えますか? – reporter

+0

セッションで作業してからコントローラと通信する必要があります。 – ttgg

+0

オハイオ州の私の謝罪、私はそれがあなたが話している場合は、mvcに精通しているすべてではない – Alphanot

関連する問題