public void UpdateLangs() { if (Langs.Count > formViewLang.PageIndex) { foreach (PropertyInfo pi in _internalType.GetProperties()) { LanguageEditorAttribute att = GetAttribute(pi); if (att != null) { string text = ""; switch (att.Control.ToLower()) { case "textbox": TextBox txt = formViewLang.FindControl("txt" + pi.Name) as TextBox; if (txt != null) { text = txt.Text.Trim(); } break; case "texteditor": TextEditor edt = formViewLang.FindControl("edt" + pi.Name) as TextEditor; if (edt != null) { text = edt.Text; } break; } for (int i = 0; i < Langs.Count; i++) { ILanguageEditorInfo fg = Langs[i]; PropertyInfo propertyInfo = fg.GetType().GetProperty(pi.Name); if ((string)propertyInfo.GetValue(fg, null) == String.Empty || i == formViewLang.PageIndex) { if (i == formViewLang.PageIndex) { propertyInfo.SetValue(fg, text, null); } else { if (!String.IsNullOrEmpty(text)) { string newValue = "###" + fg.Language + " " + text; int maxLength = GetAttribute(propertyInfo).MaxLength; if (newValue.Length > maxLength) { newValue = newValue.Substring(0, maxLength); } propertyInfo.SetValue(fg, newValue, null); } } } } } } } }
protected void Language_Selected(object sender, System.Web.UI.ImageClickEventArgs e) { foreach (PropertyInfo pi in _internalType.GetProperties()) { LanguageEditorAttribute att = GetAttribute(pi); if (att != null) { string text = ""; switch (att.Control.ToLower()) { case "textbox": TextBox txt = formViewLang.FindControl("txt" + pi.Name) as TextBox; if (txt != null) { text = txt.Text.Trim(); } break; case "texteditor": TextEditor edt = formViewLang.FindControl("edt" + pi.Name) as TextEditor; if (edt != null) { text = edt.Text; } break; } ILanguageEditorInfo fg = Langs[formViewLang.PageIndex]; PropertyInfo propertyInfo = fg.GetType().GetProperty(pi.Name); propertyInfo.SetValue(fg, text, null); } } ImageButton btn = sender as ImageButton; string url = btn.ImageUrl; string language = url.Substring(url.LastIndexOf('\\') + 1); language = language.Replace(".gif", ""); int i = 0; foreach (ILanguageEditorInfo lang in Langs) { if (lang.Language == language) { formViewLang.PageIndex = i; break; } i++; } }