Arvind Yadav

Arvind Yadav

  • 431
  • 3.2k
  • 384.5k

Asp.Net > Localization > Direction RightToLeft property not

Apr 9 2020 12:08 PM

Requirement: We are developing a web application in Asp.Net Web-Forms. Along with English language we have to implement Arabization (Arabic Language) support for application pages. Thus, when the language is English, Content and controls placement should be Left to Right. Whereas when language is Arabic, Content and controls placement should be Right to Left.

What we did: To achive this requirements we have used Asp.Net Resource files. Using this we are able to change language content. To change direction of controls we placed our login form into asp:panel control and set it's Direction property to RightToLeft when language is arabic.

Problem: On doing above implementation, normal content and controls which are in table change their direction RTL. However, controls in Bootstrap columns do not switch postions.

Below is a screenshot for reference;
 
  1. <asp:Panel runat="server" DefaultButton="login" ID="pnlLoginForm">  
  2.     <div class="login-form">    
  3.         <div class="form">    
  4.             <div style="margin: 10px auto; width: 207px">    
  5.                 <img src="../Content/images/login-logo.png" />    
  6.             </div>  
  7.             <h4 class="modal-title">    
  8.                 <%=Resources.userlogin.LoginHeaderText %>    
  9.                 <%-- Login to your account--%>    
  10.             </h4>  
  11.                 <table>    
  12.                 <tr><td>User Name</td><td><asp:TextBox runat="server" /></td></tr>    
  13.                 <tr><td>Password</td><td><asp:TextBox runat="server" /></td></tr>    
  14.             </table>  
  15.             <div class=" form-group warningclass Error clearfix">    
  16.                 <div class="col-md-12 errorclass">    
  17.                     <div runat="server" id="lblErrormsg"></div>    
  18.                 </div>    
  19.             </div>    
  20.     
  21.             <div class="form-group">    
  22.                 <label for="Username" class="col-md-3 col-form-label text-md-right"><%=Resources.userlogin.UserName %></label>    
  23.                 <div class="col-md-9">    
  24.                     <asp:TextBox runat="server" ValidationGroup="login" ID="txtEmail" placeholder="" CssClass="form-control" autocomplete="off" MaxLength="50" onclick="ClearLiteral();" />    
  25.                 </div>    
  26.     
  27.                 <%--<div class="col-md-12">    
  28.                     <label for="Username" class="col-md-3 col-form-label" runat="server" id="lblUserName">    
  29.                         <%=Resources.userlogin.UserName %></label>    
  30.                     <div class="col-md-9" runat="server" id="divTxtUserName">    
  31.                         <asp:TextBox runat="server" ValidationGroup="login" ID="txtEmail" placeholder="" CssClass="form-control" autocomplete="off" MaxLength="50" onclick="ClearLiteral();" />    
  32.                     </div>    
  33.                 </div>--%>  
  34.                 <div class="col-md-12 text-md-right">    
  35.                     <asp:RequiredFieldValidator    
  36.                         ID="reqUserName"    
  37.                         ValidationGroup="login" runat="server" ControlToValidate="txtEmail" Display="Dynamic" CssClass="Error" ErrorMessage="Please Enter Your Username" />    
  38.                 </div>    
  39.                 <div class="col-md-12 text-md-right">    
  40.                     <a href="#" class="forgot-link" data-toggle="modal" data-target="#usernameModal" onclick="ClearTextBox();"><%=Resources.userlogin.ForgotUsernameText %></a>    
  41.                 </div>    
  42.                 <%--  <asp:RegularExpressionValidator ValidationGroup="login" runat="server" CssClass="Error" ErrorMessage="Please Enter A Valid EmailID " Display="Dynamic" ID="RegularExpressionValidator1" ControlToValidate="txtEmail" ValidationExpression="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?"></asp:RegularExpressionValidator>--%>    
  43.             </div>  
  44.             <div class="form-group">    
  45.                 <label for="Username" class="col-md-3 col-form-label text-md-right"><%=Resources.userlogin.Password %></label>    
  46.                 <div class="col-md-9">    
  47.                     <asp:TextBox runat="server" ID="txtPassword" placeholder="" ValidationGroup="login" TextMode="Password" CssClass="form-control" MaxLength="16" />    
  48.                     <!--showpass display: none;-->    
  49.                     <div class="input-group-append" style="height: 40px; display: none;">    
  50.                         <button id="show_password" class="btn btn-primary" type="button">    
  51.                             <span class="fa fa-eye-slash icon"></span>    
  52.                         </button>    
  53.                     </div>    
  54.                 </div>  
  55.                 <div class="col-md-12 text-md-right">    
  56.                     <asp:RequiredFieldValidator    
  57.                         ID="reqLoginPassword"    
  58.                         ValidationGroup="login" runat="server" ControlToValidate="txtPassword" CssClass="Error" Display="Dynamic" ErrorMessage="Please Enter Your Password" />    
  59.                     <asp:RegularExpressionValidator runat="server" CssClass="Error" ValidationGroup="login" ID="revPassword" Display="Dynamic" ValidationExpression="^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$" ControlToValidate="txtPassword" ErrorMessage="Password Must Be At Least One Uppercase Letter, One Lowercase Letter, One Number And One Special Character"></asp:RegularExpressionValidator>    
  60.                 </div>    
  61.                 <div class="col-md-12 text-md-right">    
  62.                     <a href="#" class="forgot-link" data-toggle="modal" data-target="#myModal" onclick="ClearTextBox();">    
  63.     
  64.                         <%=Resources.userlogin.ForgotPasswordText %>    
  65.     
  66.                     </a>    
  67.                 </div>    
  68.             </div>  
  69.             <div class="form-group-btn small clearfix">    
  70.                 <div class="col-md-12">    
  71.                     <div class="checkbox">    
  72.                         <asp:CheckBox runat="server" class="checkbox-inline" ID="chkRememberMe" />    
  73.                         <asp:Label runat="server" AssociatedControlID="chkRememberMe"><%= Resources.userlogin.RememberMeText %></asp:Label>    
  74.     
  75.                     </div>    
  76.                     <script>    
  77.                         function ClearErrorMsg() {    
  78.                             $("#MainContent_lblErrormsg").html('');    
  79.     
  80.                         }    
  81.                     </script>    
  82.                     <asp:Button runat="server" ID="login" UseSubmitBehavior="false" OnClientClick="ClearErrorMsg();" OnClick="LogIn" Text="Login" CssClass="btn btn-primary btn-block btn-lg" ValidationGroup="login" />    
  83.                 </div>    
  84.             </div>    
  85.             <div class="form-group-btn small clearfix">    
  86.                 <div class="col-md-12  font12">    
  87.                     <%--<span class="pull-left">English (United States)</span>--%>    
  88.                     <span class="pull-left">    
  89.                         <asp:DropDownList ID="ddlLanguage" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlLanguage_SelectedIndexChanged">    
  90.                             <asp:ListItem Value="en-us" Text="English (United States)" Selected="True"></asp:ListItem>    
  91.                             <asp:ListItem Value="ar-SA" Text=">??????? (??????? ??????? ????????"></asp:ListItem>    
  92.                         </asp:DropDownList>    
  93.                         <%-- <select id="ddlLanguage">    
  94.                              <option value="0"> English (United States)</option>    
  95.                              <option value="0">??????? (??????? ??????? ????????)</option>    
  96.                          </select>--%>    
  97.                     </span>  
  98.                     <span id="warningtext" class="Error pull-right">  
  99.                         <%=Resources.userlogin.CapsLockErrorMsg %></span>    
  100.                 </div>  
  101.             </div>  
  102.             <div class=" form-group warningclass Error clearfix">    
  103.                 <div class="col-md-12">    
  104.                 </div>    
  105.             </div>  
  106.         </div>    
  107.     </div>   
  108. </asp:Panel> 

Answers (1)