2010-05-19 2 views
1

CodePlex에서 MVCScriptManager을 시도했는데 ViewUserControl과 함께 사용하기 전에는 제대로 작동하는 것 같습니다.CodePlex의 MVCScriptManager가 ViewUserControls와 함께 작동합니까?

이 시나리오에서이 시나리오를 사용하면 다음 오류가 발생합니다.

RenderMode가 설정된 ScriptManager는 으로 설정되어 있습니다. 그런 ScriptManager는 RenderMode가 Slave로 설정되어야합니다.

Site.Master 페이지의 헤더에 렌더링 모드가 "마스터"로 설정된 ScriptManager가 있지만 부분 뷰가 먼저 렌더링 된 것처럼 보입니다.

이 문제를 해결할 수있는 방법이 있습니까?

=== 마스터 페이지 ====

<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %> 

<!DOCTYPE html PUBLIC 
"-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title> 
    <link href="../../Content/Site.css" rel="stylesheet" type="text/css" /> 
    <mvc:ScriptManager ID="ScriptManager1" RenderMode="Master" 
    runat="server" EnableHttpCompression="true" EnableHttpExpiration="true" 
    HttpExpirationInDays="30"> 
     <Scripts> 
      <mvc:ScriptReference EnableCrunching="true" 
      Path="~/Scripts/jquery-1.3.2.js" /> 
     </Scripts> 
    </mvc:ScriptManager> 
</head> 

<body> 
    <div class="page"> 

     <div id="header"> 
      <div id="title"> 
       <h1>My MVC Application</h1> 
      </div> 

      <div id="logindisplay"> 
       <% Html.RenderPartial("LogOnUserControl"); %> 
      </div> 

==== LogOnUserControl.ascx ====

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> 
<% 
    if (Request.IsAuthenticated) { 
%> 
     Welcome <b><%= Html.Encode(Page.User.Identity.Name) %></b>! 
     [ <%= Html.ActionLink("Log Off", "LogOff", "Account") %> ] 
<% 
    } 
    else { 
%> 
     [ <%= Html.ActionLink("Log On", "LogOn", "Account") %> ] 
<% 
    } 
%> 

    <mvc:ScriptManager ID="ScriptManager1" RenderMode="Slave" 
    runat="server" EnableHttpCompression="true" 
    EnableHttpExpiration="true" HttpExpirationInDays="30"> 
     <Scripts> 
      <mvc:ScriptReference EnableCrunching="true" 
      Path="~/Scripts/SampleScript_LoginViewUserControl.js" /> 
     </Scripts> 
    </mvc:ScriptManager> 

답변

0

지금 잠시 동안 MVC의 ScriptManager를 사용하고 있고 대답은 아니요, 부분보기에 추가 할 수 없습니다. .ASPX보기에 필요한 스크립트 포함을 정의해야합니다.

<mvc:ScriptManager RenderMode="Slave" runat="server" EnableHttpExpiration="true" HttpExpirationInDays="30"> 
    <Scripts> 
     <mvc:ScriptReference Path="~/Content/Js/jquery/jquery.jgrowl.min.js" /> 
     <mvc:ScriptReference Path="~/Content/Js/core/script.min.js" /> 
     <mvc:ScriptReference Path="~/Content/Js/core/json2.min.js" /> 
    </Scripts> 
</mvc:ScriptManager> 
관련 문제