Download source code - 12 Kb
Introduction
The Magic Ajax For .Net 2.0 have problem with Special values like (�,�,�,�,�,�,�) in Textbox Multiline after of post back where update this characters for Html Code like (� = ç | � = ñ). For solution this problem I updated the file AjaxPanel.cs for convert Html Code to Text.
Using the code
First:
I created a method called ConvertAsciiToText like code below:
protected String ConvertAsciiToText(String pValue)
{
pValue = pValue.Replace(" ", " ");
pValue = pValue.Replace("!", "!");
pValue = pValue.Replace(""", "\"");
pValue = pValue.Replace("#", "#");
pValue = pValue.Replace("$", "$");
pValue = pValue.Replace("%", "%");
pValue = pValue.Replace("&", "&");
pValue = pValue.Replace("'", "'");
pValue = pValue.Replace("(", "(");
pValue = pValue.Replace(")", ")");
pValue = pValue.Replace("*", "*");
pValue = pValue.Replace("+", "+");
pValue = pValue.Replace(",", ",");
pValue = pValue.Replace("-", "-");
pValue = pValue.Replace(".", ".");
pValue = pValue.Replace("/", "/");
pValue = pValue.Replace("0", "0");
pValue = pValue.Replace("1", "1");
pValue = pValue.Replace("2", "2");
pValue = pValue.Replace("3", "3");
pValue = pValue.Replace("4", "4");
pValue = pValue.Replace("5", "5");
pValue = pValue.Replace("6", "6");
pValue = pValue.Replace("7", "7");
pValue = pValue.Replace("8", "8");
pValue = pValue.Replace("9", "9");
pValue = pValue.Replace(":", ":");
pValue = pValue.Replace(";", ";");
pValue = pValue.Replace("<", "<");
pValue = pValue.Replace("=", "=");
pValue = pValue.Replace(">", ">");
pValue = pValue.Replace("?", "?");
pValue = pValue.Replace("@", "@");
pValue = pValue.Replace("A", "A");
pValue = pValue.Replace("B", "B");
pValue = pValue.Replace("C", "C");
pValue = pValue.Replace("D", "D");
pValue = pValue.Replace("E", "E");
pValue = pValue.Replace("F", "F");
pValue = pValue.Replace("G", "G");
pValue = pValue.Replace("H", "H");
pValue = pValue.Replace("I", "I");
pValue = pValue.Replace("J", "J");
pValue = pValue.Replace("K", "K");
pValue = pValue.Replace("L", "L");
pValue = pValue.Replace("M", "M");
pValue = pValue.Replace("N", "N");
pValue = pValue.Replace("O", "O");
pValue = pValue.Replace("P", "P");
pValue = pValue.Replace("Q", "Q");
pValue = pValue.Replace("R", "R");
pValue = pValue.Replace("S", "S");
pValue = pValue.Replace("T", "T");
pValue = pValue.Replace("U", "U");
pValue = pValue.Replace("V", "V");
pValue = pValue.Replace("W", "W");
pValue = pValue.Replace("X", "X");
pValue = pValue.Replace("Y", "Y");
pValue = pValue.Replace("Z", "Z");
pValue = pValue.Replace("[", "[");
pValue = pValue.Replace("\", @"\");
pValue = pValue.Replace("]", "]");
pValue = pValue.Replace("^", "^");
pValue = pValue.Replace("_", "_");
pValue = pValue.Replace("`", "`");
pValue = pValue.Replace("a", "a");
pValue = pValue.Replace("b", "b");
pValue = pValue.Replace("c", "c");
pValue = pValue.Replace("d", "d");
pValue = pValue.Replace("e", "e");
pValue = pValue.Replace("f", "f");
pValue = pValue.Replace("g", "g");
pValue = pValue.Replace("h", "h");
pValue = pValue.Replace("i", "i");
pValue = pValue.Replace("j", "j");
pValue = pValue.Replace("k", "k");
pValue = pValue.Replace("l", "l");
pValue = pValue.Replace("m", "m");
pValue = pValue.Replace("n", "n");
pValue = pValue.Replace("o", "o");
pValue = pValue.Replace("p", "p");
pValue = pValue.Replace("q", "q");
pValue = pValue.Replace("r", "r");
pValue = pValue.Replace("s", "s");
pValue = pValue.Replace("t", "t");
pValue = pValue.Replace("u", "u");
pValue = pValue.Replace("v", "v");
pValue = pValue.Replace("w", "w");
pValue = pValue.Replace("x", "x");
pValue = pValue.Replace("y", "y");
pValue = pValue.Replace("z", "z");
pValue = pValue.Replace("{", "{");
pValue = pValue.Replace("|", "|");
pValue = pValue.Replace("}", "}");
pValue = pValue.Replace("~", "~");
pValue = pValue.Replace("", "");
pValue = pValue.Replace("€", "�");
pValue = pValue.Replace("", "�");
pValue = pValue.Replace("‚", "�");
pValue = pValue.Replace("ƒ", "�");
pValue = pValue.Replace("„", "�");
pValue = pValue.Replace("…", "�");
pValue = pValue.Replace("†", "�");
pValue = pValue.Replace("‡", "�");
pValue = pValue.Replace("ˆ", "�");
pValue = pValue.Replace("‰", "�");
pValue = pValue.Replace("Š", "�");
pValue = pValue.Replace("‹", "�");
pValue = pValue.Replace("Œ", "�");
pValue = pValue.Replace("", "�");
pValue = pValue.Replace("Ž", "�");
pValue = pValue.Replace("", "�");
pValue = pValue.Replace("", "�");
pValue = pValue.Replace("‘", "�");
pValue = pValue.Replace("’", "�");
pValue = pValue.Replace("“", "�");
pValue = pValue.Replace("”", "�");
pValue = pValue.Replace("•", "�");
pValue = pValue.Replace("–", "�");
pValue = pValue.Replace("—", "�");
pValue = pValue.Replace("˜", "�");
pValue = pValue.Replace("™", "�");
pValue = pValue.Replace("š", "�");
pValue = pValue.Replace("›", "�");
pValue = pValue.Replace("œ", "�");
pValue = pValue.Replace("", "�");
pValue = pValue.Replace("ž", "�");
pValue = pValue.Replace("Ÿ", "�");
pValue = pValue.Replace(" ", " ");
pValue = pValue.Replace("¡", "�");
pValue = pValue.Replace("¢", "�");
pValue = pValue.Replace("£", "�");
pValue = pValue.Replace("¤", "�");
pValue = pValue.Replace("¥", "�");
pValue = pValue.Replace("¦", "�");
pValue = pValue.Replace("§", "�");
pValue = pValue.Replace("¨", "�");
pValue = pValue.Replace("©", "�");
pValue = pValue.Replace("ª", "�");
pValue = pValue.Replace("«", "�");
pValue = pValue.Replace("¬", "�");
pValue = pValue.Replace("­", "­");
pValue = pValue.Replace("®", "�");
pValue = pValue.Replace("¯", "�");
pValue = pValue.Replace("°", "�");
pValue = pValue.Replace("±", "�");
pValue = pValue.Replace("²", "�");
pValue = pValue.Replace("³", "�");
pValue = pValue.Replace("´", "�");
pValue = pValue.Replace("µ", "�");
pValue = pValue.Replace("¶", "�");
pValue = pValue.Replace("·", "�");
pValue = pValue.Replace("¸", "�");
pValue = pValue.Replace("¹", "�");
pValue = pValue.Replace("º", "�");
pValue = pValue.Replace("»", "�");
pValue = pValue.Replace("¼", "�");
pValue = pValue.Replace("½", "�");
pValue = pValue.Replace("¾", "�");
pValue = pValue.Replace("¿", "�");
pValue = pValue.Replace("À", "�");
pValue = pValue.Replace("Á", "�");
pValue = pValue.Replace("Â", "�");
pValue = pValue.Replace("Ã", "�");
pValue = pValue.Replace("Ä", "�");
pValue = pValue.Replace("Å", "�");
pValue = pValue.Replace("Æ", "�");
pValue = pValue.Replace("Ç", "�");
pValue = pValue.Replace("È", "�");
pValue = pValue.Replace("É", "�");
pValue = pValue.Replace("Ê", "�");
pValue = pValue.Replace("Ë", "�");
pValue = pValue.Replace("Ì", "�");
pValue = pValue.Replace("Í", "�");
pValue = pValue.Replace("Î", "�");
pValue = pValue.Replace("Ï", "�");
pValue = pValue.Replace("Ð", "�");
pValue = pValue.Replace("Ñ", "�");
pValue = pValue.Replace("Ò", "�");
pValue = pValue.Replace("Ó", "�");
pValue = pValue.Replace("Ô", "�");
pValue = pValue.Replace("Õ", "�");
pValue = pValue.Replace("Ö", "�");
pValue = pValue.Replace("×", "�");
pValue = pValue.Replace("Ø", "�");
pValue = pValue.Replace("Ù", "�");
pValue = pValue.Replace("Ú", "�");
pValue = pValue.Replace("Û", "�");
pValue = pValue.Replace("Ü", "�");
pValue = pValue.Replace("Ý", "�");
pValue = pValue.Replace("Þ", "�");
pValue = pValue.Replace("ß", "�");
pValue = pValue.Replace("à", "�");
pValue = pValue.Replace("á", "�");
pValue = pValue.Replace("â", "�");
pValue = pValue.Replace("ã", "�");
pValue = pValue.Replace("ä", "�");
pValue = pValue.Replace("å", "�");
pValue = pValue.Replace("æ", "�");
pValue = pValue.Replace("ç", "�");
pValue = pValue.Replace("è", "�");
pValue = pValue.Replace("é", "�");
pValue = pValue.Replace("ê", "�");
pValue = pValue.Replace("ë", "�");
pValue = pValue.Replace("ì", "�");
pValue = pValue.Replace("í", "�");
pValue = pValue.Replace("î", "�");
pValue = pValue.Replace("ï", "�");
pValue = pValue.Replace("ð", "�");
pValue = pValue.Replace("ñ", "�");
pValue = pValue.Replace("ò", "�");
pValue = pValue.Replace("ó", "�");
pValue = pValue.Replace("ô", "�");
pValue = pValue.Replace("õ", "�");
pValue = pValue.Replace("ö", "�");
pValue = pValue.Replace("÷", "�");
pValue = pValue.Replace("ø", "�");
pValue = pValue.Replace("ù", "�");
pValue = pValue.Replace("ú", "�");
pValue = pValue.Replace("û", "�");
pValue = pValue.Replace("ü", "�");
pValue = pValue.Replace("ý", "�");
pValue = pValue.Replace("þ", "�");
pValue = pValue.Replace("ÿ", "�");
pValue = pValue.Replace("&", "&");
pValue = pValue.Replace(""", "\"");
pValue = pValue.Replace("<", "<");
pValue = pValue.Replace(">", ">");
pValue = pValue.Replace("À", "�");
pValue = pValue.Replace("Á", "�");
pValue = pValue.Replace("Â", "�");
pValue = pValue.Replace("Ã", "�");
pValue = pValue.Replace("Ä", "�");
pValue = pValue.Replace("Å", "�");
pValue = pValue.Replace("Æ", "�");
pValue = pValue.Replace("Ç", "�");
pValue = pValue.Replace("È", "�");
pValue = pValue.Replace("É", "�");
pValue = pValue.Replace("Ê", "�");
pValue = pValue.Replace("Ë", "�");
pValue = pValue.Replace("Ì", "�");
pValue = pValue.Replace("Í", "�");
pValue = pValue.Replace("Î", "�");
pValue = pValue.Replace("Ï", "�");
pValue = pValue.Replace("Ð", "�");
pValue = pValue.Replace("Ñ", "�");
pValue = pValue.Replace("Õ", "�");
pValue = pValue.Replace("Ö", "�");
pValue = pValue.Replace("Ö", "�");
pValue = pValue.Replace("Ø", "�");
pValue = pValue.Replace("©", "�");
pValue = pValue.Replace("®", "�");
pValue = pValue.Replace(" ", " ");
return pValue;
}
Second
I updated the line 582 in method called ReflectUpdatedFormValues
From
AjaxCallHelper.WriteSetFieldScript(clientID, text);
To
AjaxCallHelper.WriteSetFieldScript(clientID,ConvertAsciiToText(text));
Third
Compile the project Magic Ajax for .net 2.0.
Conclusion
This update solves the problem for developer�s that work with Special Character like Latin American.
For download source code of the Magic Ajax access the site http://www.magicajax.net.
Update the UI\Controls\AjaxPanel.cs by new UI\Controls\AjaxPanel.cs in source code from Magic Ajax project.