我试过了
MVCScriptManager
从codeplex,它似乎工作得很好,直到您尝试将它与viewUserControl结合使用。
在这种类型的场景中使用它时,会出现以下错误。
将rendermode设置为的scriptmanager
主人不在。这样
脚本管理器必须在其前面
rendermode设置为slave。
在网站的标题中,有一个脚本管理器的呈现模式设置为“master”。master页,但似乎先呈现部分视图。
有没有办法解决这个问题?
==母版页====
<%@ 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>