2008-10-08 27 views
8

cơ sở của chúng tôi Masterpage có một cái gì đó như saucách ưa thích để bao gồm tài liệu tham khảo liên quan đến JavaScript trong VS 2008 lồng Masterpage

<head runat="server"> 
    <title></title> 

    <script type="text/javascript" src="<%= Page.ResolveClientURL("~/javascript/actions.js")%>"></script> 
    <script type="text/javascript" src="<%= Page.ResolveClientURL("~/javascript/jquery/jquery-1.2.6.min.js")%>"></script> 
    <asp:contentplaceholder id="cph_htmlhead" runat="server"> 

    </asp:contentplaceholder> 
    </head> 

Nếu Masterpage đây là Masterpage cho một trang ASPX thứ hoạt động tốt.

Nếu Masterpage đây là Masterpage cho một đứa trẻ Masterpage và sau đó một trang ASPX mới sử dụng con Masterpage vì nó là MasterPage chúng ta thấy:

Server Error in '' Application.

Không thể sửa đổi bộ sưu tập Điều khiển vì điều khiển chứa các khối mã (ví dụ: <% ...%>).

Cách ưa thích để bao gồm các tài nguyên toàn cầu (Javascript/CSS) trong đường dẫn tương đối kiểu gốc (~) kiểu bảo tồn Masterpage cơ bản là gì?

Trả lời

10

Sử dụng điều khiển máy chủ ScriptManager:

<asp:ScriptManager ID="myScriptManager" runat="server"> 
    <Scripts> 
     <asp:ScriptReference Path = "~/javascript/actions.js" /> 
     <asp:ScriptReference Path = "~/javascript/jquery/jquery-1.2.6.min.js" /> 
    </Scripts> 
    </asp:ScriptManager> 
+1

Cảm ơn bạn, tôi sẽ cố gắng thử vào buổi sáng và cho bạn biết cách thực hiện. –

4

Theo ScottGu,

Một mẹo để tận dụng là đường dẫn tương đối sửa chữa-up hỗ trợ được cung cấp bởi người đứng đầu runat = kiểm soát "máy chủ". Bạn có thể sử dụng điều này trong Trang chính để dễ dàng tham chiếu biểu định kiểu .CSS được sử dụng lại trên toàn bộ dự án (bất kể dự án được tham chiếu gốc hay ứng dụng con):

Tính năng sửa chữa đường dẫn điều khiển đầu sẽ sau đó lấy đường dẫn biểu định kiểu .CSS tương đối và tạo đầu ra chính xác đường dẫn tuyệt đối tới biểu định kiểu trong thời gian chạy bất kể đó là trang web được tham chiếu gốc hay một phần của ứng dụng con.

5

Các bạn đã thử:

<script type="text/javascript" src='<%= Page.ResolveClientUrl("~/javascript/actions.js") %>'></script> 
+0

Chúng tôi hiện đang sử dụng đập (#) bao gồm với một cuộc gọi đến DataBind() trên các yếu tố đầu vào mã chủ cơ sở phía sau. Nhưng tôi đang tìm một cái gì đó cụ thể/thực hành tốt nhất. –

+1

thay thế <% # bằng <% = –

Các vấn đề liên quan