Bidirectional Support for ASP.NET Web Applications

You can create Web applications that support bidirectional languages. ASP.NET applications require several considerations when you create them in order to allow bidirectional support from a single code base.

Object Names in Web Applications

If your copy of Microsoft Windows is configured with the appropriate language, you can create ASP.NET Web pages using a bidirectional language. However, if the application will be accessed by users who do not have the appropriate language configuration, the names will not be processed correctly.

For example, if you create ASP.NET Web pages with Arabic names, users without the Windows Arabic language pack will neither be able to enter those names nor display the pages correctly. Therefore, in Web applications, you should name elements using text that will be processed correctly on all computers.

Culture Support

Culture and UI culture settings determine how an application works with localized resource values. Support for culture and UI culture is the same for bidirectional languages as it is for any other language. For detailed information about setting culture values, see How to: Set the Culture and UI Culture for ASP.NET Web Page Globalization.

Encoding

Because ASP.NET handles all text as Unicode, it supports bidirectional languages inherently. You can optionally set encoding options to specify the encoding that is used to exchange information with browsers and the encoding to apply to the files for an application. You can do this by setting the responseEncoding, requestEncoding, and fileEncoding attributes of the globalization element in the Web.config file for the application. By default, these attributes are set to UTF-8 encoding, which supports bidirectional languages. For detailed information, see How to: Select an Encoding for ASP.NET Web Page Globalization.

Right-To-Left Support

When you create Web Forms pages, you can set the dir (direction) attribute. Use the dir attribute to specify whether you want the page to use left-to-right or right-to-left reading order. However, it is up to the user's browser to implement the appropriate action. For detailed information, see How to: Display Right-to-Left Text Using HTML Tags for Globalization.

ASP.NET Web Server Controls

HTML and ASP.NET server controls support Unicode and bidirectional languages. For example, the controls support right-to-left reading order, and text-entry controls, such as the TextBox control, let you enter Arabic or Hebrew text. The Calendar control supports localized calendars (such as Hijri for Arabic) and bidirectional text.

There are issues with some controls when the controls are used with bidirectional languages. For detailed information, see ASP.NET Web Controls in Bidirectional Applications.

See Also

Other Resources

ASP.NET Globalization and Localization