我已经试过squshit和rejuicer试图结合和缩小一些视图内的CSS和JS。到目前为止没有运气。我所做的是在过滤我的观点使用缩小器和捆绑器与城堡下.net 4
$adminRejuicer_css.File("~/Content/css/admin_styles.css").File("~/Content/js/colorpicker/css/jpicker-1.1.6.min.css")
但没有把
#region using
using System;
using Castle.MonoRail.Framework;
using campusMap.Models;
using MonoRailHelper;
using Rejuicer;
#endregion
namespace campusMap.Filters
{
public class scriptFilter : IFilter
{
public bool Perform(ExecuteWhen exec, IEngineContext context, IController controller, IControllerContext controllerContext)
{
controllerContext.PropertyBag["adminRejuicer_css"] = OnRequest.ForCss("~/Content/css/min/Combined.css").Compact;
controllerContext.PropertyBag["adminRejuicer_js"] = OnRequest.ForJs("~/Content/js/min/Combined.js");
//controllerContext.PropertyBag["JavaScriptBundle"] = new JavaScriptBundle();
return true;
}
}
}
则基本控制器
#region Directives
using Castle.MonoRail.Framework;
using campusMap.Services;
using System.Text.RegularExpressions;
using System;
using campusMap.Models;
using Castle.ActiveRecord;
using MonoRailHelper;
using campusMap.Filters;
using log4net;
using log4net.Config;
using System.Text;
#endregion
namespace campusMap.Controllers
{
[Filter(ExecuteWhen.BeforeAction, typeof(scriptFilter))]
[Layout("default"), Rescue("generalerror")]
public abstract class BaseController : MonoRailHelper.HelperBaseController
{
}
,然后最后从。如果我基本上做同样的事情squshit但在过滤器的
controllerContext.PropertyBag["cssBundle"] = Bundle.Css();
,并在教职员
$cssBundle.Add("~/Content/css/admin_styles.css").Add("~/Content/js/colorpicker/css/jpicker-1.1.6.min.css").Render("~/Content/css/min/admin.css")
这一次,它至少只是输出了两个脚本标签,而不是精缩或捆绑但至少它正在做一些事情。
有关如何做到这一点的任何想法? 谢谢-Jeremy
好的。我会尝试..但你如何告诉我们之间的区别让我们说一边为管理员和一个为公众面向一边..我会认为做一个OnRequest.ForCss(“〜/ Content/css/min/Combined .css“)和OnRequest.ForCss(”〜/ Content/css/min/admin_Combined.css“)会导致麻烦?我很快会回头看看是否有效。 tk - – 2012-07-13 00:58:00
只需添加OnRequest.ForCss(“〜/ Content/css/min/Combined.css”)不起作用。你不能在那里使用controllerContext.PropertyBag [“adminRejuicer_css”] = OnRequest.ForCss(“〜/ Content/css/min/Combined.css”)。嘿,你之前没有一个城堡应用程序?我想如果你知道如何做到这一点,只需要复制粘贴来帮忙就会快得多。谢谢你的帮助..干杯 - – 2012-07-13 01:04:42