межсайтовая строка запроса asp.net - PullRequest
0 голосов
/ 11 декабря 2011

Я внедряю сайт asp.net в качестве мультиязычного шаблона сайта, который я собираюсь использовать в будущих разработках.Я использую строку запроса, чтобы указать, какой язык отображать, и по умолчанию URL-адрес выглядит следующим образом: www.site.com/default.aspx?lnag=en, где английский является языком по умолчанию.

В моем мастерестраница У меня есть HTML-меню, которое выглядит следующим образом:

<ul>
            <li><a href="../../Default.aspx">Home</a></li>
            <li><a href="../../About.aspx">About</a></li>  
        </ul>

Обратите внимание, что когда пользователь нажимает на ссылку «О программе», он, очевидно, теряет строку запроса и переводит пользователя на www.site.com / About.aspx.

Теперь я хочу, чтобы строка запроса (lnag) оставалась там на ВСЕХ ссылках / URL-адресах страниц и перенаправляла без необходимости вручную добавлять строку запроса для каждой ссылки намой сайт.У меня уже есть базовый класс страницы, но я не уверен, как / где я должен захватить / вставить строку запроса для запрошенной / отвеченной страницы.

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 11 декабря 2011

используйте следующий код

var lang = 'en';
$('a').attr('href', function() { return this+ '?'+ lang });
1 голос
/ 11 декабря 2011

Сохраните язык в переменной Session - обновляйте его, только если он существует в URL-адресе, а если нет, используйте то, что находится в переменной Session (с некоторым нормальным значением по умолчанию).

0 голосов
/ 11 декабря 2011

Если вы хотите оптимизировать свой сайт, я бы посоветовал не указывать язык в строке запроса. Это действительно принадлежит в URL. Например:

http://www.site.com/en/content

вместо

http://www.site.com/content?lang=en

Вы должны быть в состоянии сделать это с помощью UrlRewriting (так как вы используете веб-формы ASP.NET). Однако это гораздо проще сделать в ASP.NET MVC с их шаблоном маршрутизации.

Единственное, что я должен добавить, - сохранять язык в куки, а не в сеансе. Таким образом, если пользователь меняет свой язык и возвращается на сайт (начинает новый сеанс), его любимый язык запоминается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...