2013-06-25 4 views
1

Я получаю ошибку этого кодаResolveUrl Недопустимые символы в пути

<script runat="server" type="text/javascript" src='<%# ResolveUrl("js/excanvas.min.js") %>'></script> 

Пожалуйста, обратите внимание, я использую RUNAT = «сервер», и это действительно необходимо.

Любая помощь appreicated

Благодаря

+3

Зачем вам 'runat =" server "'? – SLaks

+0

Нет необходимости runat = "server" – Amit

+0

Мне это нужно. Else я получил недопустимую ошибку viewstate. Я использую DevExpress Control, поэтому нет опции – Moons

ответ

1

я не вижу каких-либо противоправный характер, но если вы не в привязки данных контекста вы должны использовать <%= isntead из <%#

src='<%= ResolveUrl("js/excanvas.min.js") %>' 

As примечание стороны, runat="server" не требуется для этого случая

+0

У меня такая же ошибка, если я использую <% = тоже :( – Moons

+0

Я не уверен, но он думает, что при использовании runat = "server" причина появления этой ошибки – Moons

+0

@Moons: вы можете вставить точную ошибку? –

0

Для всех, у кого есть эта проблема, DevE Элементы управления xpress не позволяют Page.Header.Databind, поскольку это делает недействительным состояние просмотра, поэтому вы не можете использовать <% # ResolveUrl()%>, а runat = server не работает для тегов <script>. Чтобы обойти эту проблему, используйте следующее:

Для <link> тегов, просто добавьте RUNAT = сервер и использовать тильду:

<link rel="stylesheet" href="~/css/styles.css" type="text/css" runat="server" />

Для <script> тегов, обеспечить ваш <head> тег включает RUNAT = сервер, то выполните следующие действия:

<head runat="server"> <asp:Literal ID="jsJquery" runat="server" /> </head>

В коде позади:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Me.jsJquery.Text = "<script type=""text/javascript"" src=""" & Page.ResolveUrl("~/jscript/jquery.js") & """></script>" End Sub