protected void btnGo_click(object sender, EventArgs e) { switch(lstOperation.SelectedValue.ToUpperInvariant()) { case "PAGE": PageAsyncTask task = new PageAsyncTask( new BeginEventHandler(BeginPageRequest), new EndEventHandler(EndPageRequest), new EndEventHandler(TimeoutPageRequest), null); RegisterAsyncTask(task); break; case "WIKI": AddOnPreRenderCompleteAsync( new BeginEventHandler(BeginPagesListRequest), new EndEventHandler(EndPagesListRequest) ); break; case "TEXT": mlwImport.ActiveViewIndex = 3; ITranslator translator = new Translator(); txtTranslated.Text = translator.Translate(txtText.Text); break; } }
private void EndPageRequest(IAsyncResult ar) { try { HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(ar); StreamReader reader = new StreamReader(response.GetResponseStream()); if(lstWiki.SelectedValue.ToUpperInvariant() == "MEDIA") { Regex textarea = new Regex(@"(?<=(\<textarea([^>])*?)\>)(.|\s)+?(?=(\<\/textarea\>))"); Match match = textarea.Match(reader.ReadToEnd()); if(match.Success) { Translator translator = new Translator(); string text = translator.Translate(match.Value.Replace("<", "<").Replace(">", ">").Replace(""", @"""")); savePage(text); } } if(lstWiki.SelectedValue.ToUpperInvariant() == "FLEX") { Regex textarea = new Regex(@"(?<=(\<textarea class=\'EditBox\'([^>])*?)\>)(.|\s)+?(?=(\<\/textarea\>))"); Match match = textarea.Match(reader.ReadToEnd()); if(match.Success) { Translator translator = new Translator(); string text = translator.Translate(match.Value.Replace("<", "<").Replace(">", ">").Replace(""", @"""")); savePage(text); } } UrlTools.Redirect(UrlTools.BuildUrl(txtPageName.Text.Replace(":", "_").Replace("/", "_").Replace(@"\", "_").Replace('?', '_'), ".ashx")); } catch(WebException) { lblResult.Text = "Web exception"; } }