Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to include jquery in masterpage header without path problems?

I have tried this

<head id="Head1" runat="server">
<title>Back Office</title>
<link href="~/Styles/MasterPage.css" rel="stylesheet" type="text/css" />
<link href="Styles/custom-theme/jquery-ui-1.8.12.custom.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="<%= Page.ResolveClientUrl("~/scripts/jquery-1.5.1.min.js") %>"></script>
<asp:ContentPlaceHolder ID="HeadContent" runat="server">
</asp:ContentPlaceHolder>
</head>

The error message is

enter image description here

I think too much, it is just find using this sorry

like image 429
Sarawut Positwinyu Avatar asked Aug 17 '26 05:08

Sarawut Positwinyu


2 Answers

It seems that, you are trying to add controls to page dynamically. In this case, you can use the below code

var control = new HtmlGenericControl("script") ;
control.Attributes.Add("type", "text/javascript");
control.Attributes.Add("src", Page.ResolveClientUrl("~/scripts/jquery-1.5.1.min.js"));
//CDN will be best while hosting the application
//control.Attributes.Add("src", "http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js");
this.Page.Header.Controls.Add(control);
like image 186
Bharath Avatar answered Aug 18 '26 18:08

Bharath


Try using DataBinding with ResolveUrl

<script src="<%# ResolveUrl("~/Scripts/jquery-1.5.1.min.js") %>" 
          type="text/javascript"></script>

Then in your code behind call the Header's Databind

    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        Page.Header.DataBind();
    }

If you start getting errors regarding the ViewState you may need to disable it on the header.

<head runat="server" enableviewstate="false">
like image 27
Jack Avatar answered Aug 18 '26 18:08

Jack



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!