ResolveUrl не работает встроенный

Я получаю сообщение об ошибке в приведенном ниже коде в asp.net 4.0

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

Сообщение об ошибке: CS1525: недопустимый термин выражения '='

Я использую этот код в Site.Master в главном теге

Ответ 1

Вы не можете использовать <%# и <%= одновременно. Попробуйте это следующим образом:

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

РЕДАКТИРОВАТЬ
Если вы получаете сообщение об ошибке:

The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).

когда вы пытаетесь использовать <%= ResolveUrl(..., это происходит потому, что что-то в вашем коде пытается добавить элементы управления в ваш элемент управления заголовком в Site.Master. Если это так, переключите тег script, чтобы прочитать:

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

и убедитесь, что вы вызываете метод DataBind() в теге заголовка в какой-то момент (например, из метода Page_Load для Site.Master):

public partial class SiteMaster : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Page.Header.DataBind();
    }
}

Ответ 2

Вы можете использовать ResolveUrl с Eval следующим образом. Не требуется внешний код.

<img src='<%# ResolveUrl(Eval("FILE_URL").ToString()) %>' alt=""
     style="width:50px;height:50px"/>