Buongiorno a tutti, ho un problema. Sto creando un sito formato da una pagina di default contentente un div dove ogni volta che clicco sul menu dovrebbe caricare lo usercontrol relativo al item menu selezionato. Ora il mio problema è che funziona tutto solo che il codice html dello usercontrol viene elaborato e visualizzato come una comune stringa. E' come se il desto non venisse codificato come html. Utilizzo un web service per la chiamata della funzione che mi carica lo usercontrol. Cosa sbaglio? Di seguito il codice da me utilizzato. Inoltre il div dove caricare lo usercotnrol si trova già all'interno di un form.
web_service.cs
codice:
[WebMethod(EnableSession = true)]
public string GetControlHtml(string controlLocation) {
// Create instance of the page control
Page page = new Page();
// Create instance of the user control
UserControl userControl = (UserControl)page.LoadControl(controlLocation);
//Add form to the page
page.Controls.Add(userControl);
//Write the control Html to text writer
StringWriter textWriter = new StringWriter();
//execute page on server
HttpContext.Current.Server.Execute(page, textWriter, false);
// Clean up code and return html
return CleanHtml(textWriter.ToString());
}
private string CleanHtml(string html) {
return Regex.Replace(html, @"<[/]?(form)[^>]*?>", "", RegexOptions.IgnoreCase);
}
default.aspx
codice:
function getData(serviceURL, location) {
$.ajax({
type: 'POST',
dataType: 'html',
url: serviceURL,
data: { controlLocation: '~/controls/' + location + '/' + location + '.ascx' },
success: function (data) {
if (data != null) {
$('#content').html(data);
//document.getElementById("content").innerHTML = data;
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
Sto impazzendo aiutatemiiiii. e comunque grazie mille per l'aiuto in anticipoooooooo