Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我希望在母版页上有一个西班牙语/英语链接,它可以将您带到其他语言的当前页面,而不是';主页';页_Javascript_.net_Html_Master Pages - Fatal编程技术网

Javascript 我希望在母版页上有一个西班牙语/英语链接,它可以将您带到其他语言的当前页面,而不是';主页';页

Javascript 我希望在母版页上有一个西班牙语/英语链接,它可以将您带到其他语言的当前页面,而不是';主页';页,javascript,.net,html,master-pages,Javascript,.net,Html,Master Pages,我有一个Visual Studio C#.NET项目。我有两个主模板。一个是英文的原始网站。以及该网站西班牙语版的第二个母版页。 在两个母版页中都有一个链接,上面写着“英语”(或西班牙语)。此链接将使用户访问网站的其他语言翻译 但是,如果我在英文版的“关于我们”页面上,单击西班牙语链接,它会将我带到西班牙语版的主页,而不是西班牙语版的当前页面(在本例中是关于我们的)。如何设置母版页中的链接,以了解我需要的页面翻译 我不知道如何编写这个东西 谢谢 解决方案-已解决 <script type=

我有一个Visual Studio C#.NET项目。我有两个主模板。一个是英文的原始网站。以及该网站西班牙语版的第二个母版页。 在两个母版页中都有一个链接,上面写着“英语”(或西班牙语)。此链接将使用户访问网站的其他语言翻译

但是,如果我在英文版的“关于我们”页面上,单击西班牙语链接,它会将我带到西班牙语版的主页,而不是西班牙语版的当前页面(在本例中是关于我们的)。如何设置母版页中的链接,以了解我需要的页面翻译

我不知道如何编写这个东西

谢谢

解决方案-已解决

<script type="text/javascript">
        function SetLanguageLinkUrl() {
            var url = location.href;
            var newURL;

         // Create block of these, for each set of pages in different languages.
                if (url.indexOf("inicio") > 0)
                newURL = url.replace("/es/inicio.aspx", "/en/index.aspx");
                else if (url.indexOf("index") > 0)
                    newURL = url.replace("/en/index.aspx", "/es/inicio.aspx");

        // The Redirect
            window.location = newURL;

    }
</script>

函数SetLanguageLinkUrl(){
var url=location.href;
var-newURL;
//为不同语言的每套页面创建一个块。
如果(url.indexOf(“inicio”)>0)
newURL=url.replace(“/es/inicio.aspx”,“/en/index.aspx”);
else if(url.indexOf(“index”)>0)
newURL=url.replace(“/en/index.aspx”,“/es/inicio.aspx”);
//重定向
window.location=newURL;
}
假设您的母版页中有一个,您可以将链接中的语言文件夹替换为url中的其他语言文件夹

void SetLanguageLinkUrl()
{
     string url = Request.Url.PathAndQuery.ToString().ToLowerInvariant();
     if(url.StartsWith("/en/"))
         languageLink.HRef = url.Replace("/en/", "/es/");
     else if(url.StartsWith("/es/"))
         languageLink.HRef = url.Replace("/es/", "/en/");
}
更新
如果您想翻译url,最好使用url字典作为查找表。

您如何表示当前语言?在询问中?使用语言文件夹(例如/en/about us)?使用语言文件夹/es/filename.aspx。我有两个母版页,main.master和西班牙语。母版。。。main.master有一个指向/es/index.aspx的链接,但我希望该链接能将我带到另一种语言的“当前页面”。因此,如果我与我们联系,我希望它将我带到Contacto.aspx。这是我在母版中的内容。页面:尝试一下,看看它是否对您有意义,但这看起来不像是将我从about.aspx带到acerca.aspx,或从Contact.aspx带到Contacto.aspx,它看起来像是用另一种语言将我带到文件夹的主页面。我期待着当前页面(我现在正在浏览的页面)用另一种语言单击,并用西班牙语显示相同的页面。比如将contact.aspx重定向到contacto.aspx,但问题是我必须在主模板中执行此操作,我不知道如何执行此操作。与将我从contact.aspx(英语)转到/es/(默认为.aspx)…相反,如果当前url为
/en/about.aspx
,则链接将设置为
/es/about.aspx
。你没有提到你想翻译网址。就像我说的,试着看看逻辑