After thorough investigation, it appears that the issue stems from having an update panel in the child page (aspx) and a message div in the master page. While the update panel can successfully update controls within its scope, it cannot update controls outside of it. To resolve this, you will need to place the update panel in the master page.
Master Page:
<ajaxToolkit:ToolkitScriptManager runat="Server" EnablePartialRendering="true" ID="ScriptManager1" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div><strong>Demo for master page updation</strong></div>
<div id="divMaster" runat="server">
I am div in master page, going to change with ajax call
</div>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>
Content Page (.aspx):
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
Content Page Code Behind (.aspx.cs):
protected void Button1_Click(object sender, EventArgs e)
{
System.Threading.Thread.Sleep(2000); //To check the effect of ajax call, must be removed
HtmlGenericControl divMaster = (HtmlGenericControl) this.Master.FindControl("divMaster");
divMaster.InnerHtml = "hello I am being change from child page";
}