2009-04-07 3 views
0

Alles, was ich tun möchte, ist so etwas wieIst es wirklich unmöglich, Code in einer mvc-Masterseite zu schreiben?

<%=Html.ScriptInclude("~/Scripts/jquery.1.2.6.js")%> 

zu schreiben, wenn ich tun, dass ich einen Fehler:

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

Ich bin mit ASP.NET MVC Release Candidate 1.

Ist das unmöglich zu erreichen?

Antwort

1

Setzen Sie Ihren Code innerhalb eines <asp:PlaceHolder runat="server"> Tags. Es gab einen bekannten Fehler in RC1, der dieses Problem verursachte. Überprüfen Sie Seite 23 der release notes.

Ich habe nicht auf 1.0 aktualisiert, also weiß ich nicht, ob das behoben wurde oder nicht.

1

Warum gehst du nicht einfach tun:

<script src="../../Script/jquery.1.2.6.js" type="text/javascript"></script> 
+0

@TSStamper, wenn Sie ASP.NET MVC verwenden und Ihre .JS-Datei ist im/Scripts Standardordner, dann ist es korrekt. – mmcdole

2

Nein, nicht unmöglich. Ich mache genau das. Code-Snippet von einem aktuellen Projekt unten. Was scheint das Problem zu sein?

Beachten Sie, dass StyleSheet und Javascript meine eigenen Erweiterungsmethoden sind, ebenso wie die Erweiterung DatedContent auf UrlHelper. Damit Ihre eigenen Erweiterungsmethoden funktionieren, müssen Sie den Namespace, der sie enthält, oben auf der Seite importieren.

<%@ Import Namespace="MvcExtensions" %> 

<%= Html.StyleSheet(Url.DatedContent("~/Content/styles/themes/jquery-ui-theme.css"))%> 
<%= Html.StyleSheet(Url.DatedContent("~/Content/styles/Site.css"), "all") %> 
<%= Html.Javascript(Url.Content("~/Scripts/jquery-1.3.2.min.js")) %> 
<%= Html.Javascript(Url.Content("~/Scripts/ui/ui-all-1.7.1.min.js")) %> 
0

Ändern Versuchen ...

<%= Html.ScriptInclude("~/Scripts/jquery.1.2.6.js")%> 

... bis ...

<%# Html.ScriptInclude("~/Scripts/jquery.1.2.6.js")%> 

(Ändern = zu #)

Verwandte Themen