[CLOSED] Message Box Localization support

  1. #1

    [CLOSED] Message Box Localization support

    Hi Guys,

    I am just checking to find out if localization support have been implemented for the messagebox class as yet. I know it can be done by setting the locale on the script manager, but is there anyway for it to be done by explicitly setting the button values from code.
    Last edited by Daniil; Apr 08, 2011 at 5:41 AM. Reason: [CLOSED]
  2. #2
    Hi,

    Please set X.Msg.ButtonText's .Ok, .Cancel, .Yes, .No properties

    Example
    X.Msg.ButtonText.Ok = "I'm OK";
  3. #3

    Hi

    Hi,

    I am trying to set the values from code. See example below, but it does not work as ToScript does not include the updated properties. Do i need to another approach?


    public static String GetMessageBoxScript(String title, String message, MessageBox.Button buttons, MessageBox.Icon icon)
            {
                MessageBoxButtonsConfig messageBoxButtonsConfig = new MessageBoxButtonsConfig();
    
                                                                
    
                MessageBox messageBox = new MessageBox().Configure(new MessageBoxConfig()
                {
                    Title = title,
                    Buttons = buttons,
                    Icon = icon,
                    
                });
                // messageBox.
                messageBox.ButtonText.Cancel = "Cancelss";
                messageBox.ButtonText.Yes = "Yesss";
                messageBox.ButtonText.No = "Noss";
                messageBox.ButtonText.Ok = "Okss";
    
    
                return messageBox.ToScript();
            }
    Last edited by Daniil; Apr 04, 2011 at 4:53 PM. Reason: Please use [CODE] tags
  4. #4
    Please provide a full sample to reproduce.

    I was unable to reproduce the problem using the following one.

    Example
    <%@ Page Language="C#" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <script runat="server">
        protected void TestDirectEventHandler(object sender, DirectEventArgs e)
        {
            ResourceManager.GetInstance().AddScript(
                GetMessageBoxScript(
                    "title", 
                    "message", 
                    MessageBox.Button.OKCANCEL,
                    MessageBox.Icon.ERROR));
        }
    
        public static String GetMessageBoxScript(String title, String message, MessageBox.Button buttons, MessageBox.Icon icon)
        {
            MessageBox messageBox = new MessageBox().Configure(new MessageBoxConfig()
            {
                Title = title,
                Message = message,
                Buttons = buttons,
                Icon = icon,
    
            });
            messageBox.ButtonText.Cancel = "Cancelss";
            messageBox.ButtonText.Yes = "Yesss";
            messageBox.ButtonText.No = "Noss";
            messageBox.ButtonText.Ok = "Okss";
    
            return messageBox.ToScript();
        }
    </script>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Ext.Net Example</title>
    </head>
    <body>
        <form runat="server">
        <ext:ResourceManager runat="server" />
        <ext:Button runat="server" Text="Click me" OnDirectClick="TestDirectEventHandler" />
        </form>
    </body>
    </html>
    Last edited by Daniil; Apr 04, 2011 at 6:15 PM.
  5. #5

    Hi

    Hi,

    I am using MVC and returning the script as part of a AjaxResult but the text does not change. see code:
    return new AjaxResult
                           {
                               //ErrorMessage = String.Format("{0}:{1}",
                               //                             FormLabels.ApplicationTitleText,
                               //                             ex.Detail.DisplayMessage)
    
                               Script = MvcMessageBox.GetMessageBoxScript(FormLabels.ApplicationTitleText, ex.Detail.DisplayMessage , Ext.Net.MessageBox.Button.OK, Ext.Net.MessageBox.Icon.INFO)
                    };
    Last edited by Daniil; Apr 04, 2011 at 5:43 PM. Reason: Please use [CODE] tags
  6. #6
    messageBox.ButtonText.Ok = "Okss";
    Yes, it doesn't work in a controller because there is no ResourceManager.

    I 'm trying the following code, but it throws a NullReferenceException.

    public static String GetMessageBoxScript(String title, String message, MessageBox.Button buttons, MessageBox.Icon icon)
    {
        MessageBox messageBox = X.MessageBox.Configure(new MessageBoxConfig()
        {
            Title = title,
            Message = message,
            Buttons = buttons,
            Icon = icon,
            MessageBoxButtonsConfig = new MessageBoxButtonsConfig()
            {
                Ok =
                {
                    Text = "Ok NEW"
                },
                Cancel =
                {
                    Text = "Cancel NEW"
                }
            }
        });
        return messageBox.ToScript();
    }
    
    public AjaxResult ShowMsgBox()
    {
        return new AjaxResult
        {
            Script = GetMessageBoxScript(
                "title",
                "message",
                MessageBox.Button.OKCANCEL,
                MessageBox.Icon.ERROR)
        };
    }
    We are investigating.
  7. #7

    hi

    Hi,

    If you initialize a then you would have to initialize all the properties and handlers. Reason i set the properties as below:


    MessageBox messageBox = new MessageBox().Configure(new MessageBoxConfig()
    {
    Title = title,
    Message = message,
    Buttons = buttons,
    Icon = icon,

    });

    messageBox.ButtonText.Cancel = "Cancelss";
    messageBox.ButtonText.Yes = "Yesss";
    messageBox.ButtonText.No = "Noss";
    messageBox.ButtonText.Ok = "Okss";
  8. #8
    Hi,

    Here is an example under MVC
    public static String GetMessageBoxScript(String title, String message, MessageBox.Button buttons, MessageBox.Icon icon)
            {
                MessageBoxButtonsConfig bc = new MessageBoxButtonsConfig();
                bc.Ok = new MessageBoxButtonConfig();
                bc.Ok.Text = "Ok NEW";
                bc.Cancel = new MessageBoxButtonConfig();
                bc.Cancel.Text = "Cancel NEW";
    
                MessageBox messageBox = X.MessageBox.Configure(new MessageBoxConfig()
                {
                    Title = title,
                    Message = message,
                    Buttons = buttons,
                    Icon = icon,
                    MessageBoxButtonsConfig = bc
                    
                });
                return messageBox.ToScript();
            }
    
            public AjaxResult ShowMsgBox()
            {
                return new AjaxResult
                {
                    Script = GetMessageBoxScript(
                        "title",
                        "message",
                        MessageBox.Button.OKCANCEL,
                        MessageBox.Icon.ERROR)
                };
            }
    If you don't want to set buttons text for each message then you can set default values using javascript code (for example, run it in the DocumentReady event of ResourceManager)
    Ext.MessageBox.buttonText.ok = "new ok";
    Ext.MessageBox.buttonText.cancel= "new cancel";
    Ext.MessageBox.buttonText.yes= "new yes";
    Ext.MessageBox.buttonText.no= "new no";
  9. #9

    hi

    Thanks a lot guys, that worked great. Please mark as solved.

Similar Threads

  1. Replies: 0
    Last Post: Aug 06, 2012, 3:59 AM
  2. [CLOSED] Localization of Masking Message
    By nirajrdave in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: Mar 21, 2012, 8:41 AM
  3. Replies: 1
    Last Post: Mar 10, 2012, 3:58 PM
  4. Replies: 38
    Last Post: Feb 23, 2011, 6:51 PM
  5. Replies: 3
    Last Post: Aug 18, 2010, 9:34 PM

Posting Permissions