This is a migrated thread and some comments may be shown as answers.

[Solved] HEAD Tag

1 Answer 126 Views
Ajax
This is a migrated thread and some comments may be shown as answers.
Michael Cranford
Top achievements
Rank 1
Michael Cranford asked on 15 Apr 2009, 01:52 AM
<HEAD id="HEAD" runat=server>  
 
<LINK href="site.css" type="text/css" rel="stylesheet">  
 
</HEAD> 
 
Can I use an Ajax postback to add a control to the page header? When I try to add HEAD to RadAjaxManager I get an error.

 

 

 

                        HtmlLink link = new HtmlLink();  
                        link.Attributes["href"] = "rss.aspx";  
                        link.Attributes["type"] = "application/rss+xml";  
                        link.Attributes["rel"] = "alternate";  
                        link.Attributes["title"] = "name";  
                        HEAD.Controls.Add(link); 

1 Answer, 1 is accepted

Sort by
0
Dimo
Telerik team
answered on 16 Apr 2009, 09:18 AM
Hello Michael Cranford,

Generally, the ASP.NET AJAX framework does not update the page header during AJAX requests.

I suggest you to use the RadAjaxManager's OnResponseEnd client event and add the new content with Javascript. Here is a simple example:

<%@ Page Language="C#" %> 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> 
 
<script runat="server"
 
    protected void Button1_Click(object sender, EventArgs e) 
    { 
        HiddenField hf = new HiddenField(); 
        hf.ID = "MyHiddenContainer"
        hf.Value = "http://www.dimodi.com/dimodiweb.css"
        Panel1.Controls.Add(hf); 
    } 
     
</script> 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
<html xmlns="http://www.w3.org/1999/xhtml"
<head runat="server"
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
<title>RadControls for ASP.NET AJAX</title> 
<style type="text/css"
 
.MyPanel 
    width:600px; 
    height:300px; 
    border:1px solid #666; 
    background:#ffffee; 
 
</style> 
</head> 
<body style="text-align:left"
<form id="form1" runat="server"
<asp:ScriptManager ID="ScriptManager1" runat="server" /> 
 
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"
    <ClientEvents OnResponseEnd="ResponseEnd" /> 
    <AjaxSettings> 
        <telerik:AjaxSetting AjaxControlID="Button1"
            <UpdatedControls> 
                <telerik:AjaxUpdatedControl ControlID="Panel1" /> 
            </UpdatedControls> 
        </telerik:AjaxSetting> 
    </AjaxSettings> 
</telerik:RadAjaxManager> 
 
<asp:Button ID="Button1" runat="server" Text="AJAX request" OnClick="Button1_Click" /> 
 
<asp:Panel ID="Panel1" runat="server" CssClass="MyPanel"
    My Panel 
</asp:Panel> 
 
<script type="text/javascript"
 
function ResponseEnd(sender, args) 
    var hc = $get("MyHiddenContainer"); 
    if (hc) 
    { 
        var pagehead = document.getElementsByTagName("head")[0]; 
         
        var link = document.createElement("link"); 
            link.setAttribute("rel", "stylesheet"); 
            link.setAttribute("type", "text/css"); 
            link.setAttribute("href", hc.value); 
         
            pagehead.appendChild(link); 
    } 
 
</script> 
 
</form> 
</body> 
</html> 


Greetings,
Dimo
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
Tags
Ajax
Asked by
Michael Cranford
Top achievements
Rank 1
Answers by
Dimo
Telerik team
Share this question
or