How do I write AJAX code to write a simple message?
I am not sure how "Message.ascx" is generated or made in advance.
No error code and the message in div content does not show.
[WebMethod]
public static string LoadUserControl(string message)
{
using (Page page = new Page())
{
UserControl userControl = (UserControl)page.LoadControl("Message.ascx");
(userControl.FindControl("lblMessage") as Label).Text = message;
page.Controls.Add(userControl);
using (StringWriter writer = new StringWriter())
{
page.Controls.Add(userControl);
HttpContext.Current.Server.Execute(page, writer, false);
return writer.ToString();
}
}
}
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type = "text/javascript">
$(document).ready(function () {
$("#<%= Button1.ClientID %>").live("click", function () {
$.ajax({
type: "POST",
url: "MyPage.aspx/LoadUserControl",
data: "{message: '" + $("#<%= TextBox1.ClientID %>").val() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (r) {
$("#Content").append(r.d);
}
});
});
});
</script>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Load" />
<div id = "Content"></div>