小编Tho*_*ock的帖子

为什么在npm中使用插件的对等依赖?

例如,为什么Grunt插件将其对grunt的依赖定义为" 对等依赖 "?

为什么插件不能将Grunt作为grunt-plug/node_modules中的依赖?

此处描述了对等依赖关系:https://nodejs.org/en/blog/npm/peer-dependencies/

但我真的不明白.

我正在使用AppGyver Steroids,它使用Grunt任务将我的源文件构建到/ dist /文件夹中,以便在本地设备上提供.我在npm和grunt都很新,所以我想完全理解发生了什么.

到目前为止我得到了这个:

[rootfolder] /package.json告诉npm它取决于grunt-steroids用于开发的npm包:

  "devDependencies": {
    "grunt-steroids": "0.x"
  },
Run Code Online (Sandbox Code Playgroud)

好的.在[rootfolder]中运行npm install 会检测依赖项并在[rootfolder]/node_modules/grunt-steroids中安装grunt-steroids.

Npm然后读取[rootfolder] /node_modules/grunt-steroids/package.json,以便它可以安装grunt-steroids自己的依赖项:

"devDependencies": {
    "grunt-contrib-nodeunit": "0.3.0",
    "grunt": "0.4.4"
  },
"dependencies": {
    "wrench": "1.5.4",
    "chalk": "0.3.0",
    "xml2js": "0.4.1",
    "lodash": "2.4.1"
  },
"peerDependencies": {
    "grunt": "0.4.4",
    "grunt-contrib-copy": "0.5.0",
    "grunt-contrib-clean": "0.5.0",
    "grunt-contrib-concat": "0.4.0",
    "grunt-contrib-coffee": "0.10.1",
    "grunt-contrib-sass": "0.7.3",
    "grunt-extend-config": "0.9.2"
  },
Run Code Online (Sandbox Code Playgroud)

" dependencies "包安装在 …

package-managers node.js npm

185
推荐指数
3
解决办法
7万
查看次数

属性路由不在区域中工作

场景:我的ASP.NET MVC 5站点中有一个Forms区域.

我正在尝试重定向到Details Action,它使用使用新的Attribute Routing功能定义的自定义路由.

RedirectToAction:

return RedirectToAction("Details", new { slug });
Run Code Online (Sandbox Code Playgroud)

我正在重定向到的操作:

[HttpGet]
[Route("forms/{slug}")]
public ActionResult Details(string slug)
{
    var form = FormRepository.Get(slug);

    ...

    return View(model);
}
Run Code Online (Sandbox Code Playgroud)

我希望重定向,http://localhost/forms/my-slug但应用程序将重定向到我http://localhost/Forms/Details?slug=my-slug.

这意味着属性路由不起作用.

怎么解决这个问题?

我添加了routes.MapMvcAttributeRoutes(); 到我的RouteConfig:

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapMvcAttributeRoutes();

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的Application_Start():

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
    RouteConfig.RegisterRoutes(RouteTable.Routes);
    BundleConfig.RegisterBundles(BundleTable.Bundles); …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asp.net-mvc-routing

45
推荐指数
2
解决办法
3万
查看次数

自定义html帮助程序:使用"using"语句支持创建帮助程序

我正在编写我的第一个asp.net mvc应用程序,我对自定义Html帮助程序有疑问:

要制作表格,您可以使用:

<% using (Html.BeginForm()) {%>
   *stuff here*
<% } %>
Run Code Online (Sandbox Code Playgroud)

我想用自定义HTML帮助器做类似的事情.换句话说,我想改变:

Html.BeginTr();
Html.Td(day.Description);
Html.EndTr();
Run Code Online (Sandbox Code Playgroud)

成:

using Html.BeginTr(){
    Html.Td(day.Description);
}
Run Code Online (Sandbox Code Playgroud)

这可能吗?

.net asp.net-mvc html-helper

39
推荐指数
3
解决办法
9421
查看次数

在RedirectToAction上保留viewdata

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult CreateUser([Bind(Exclude = "Id")] User user)
{
        ...
        db.SubmitChanges();
        ViewData["info"] = "The account has been created.";
        return RedirectToAction("Index", "Admin");
}
Run Code Online (Sandbox Code Playgroud)

这不会在redirectToAction之后的viewdata中保留"info"文本.我将如何以最优雅的方式解决这个问题?

我目前的想法是将Index controlleraction中的东西放在[NonAction]中并从Index操作和CreateUser操作中调用该方法,但我觉得必须有更好的方法.

谢谢.

asp.net-mvc viewdata redirecttoaction

38
推荐指数
2
解决办法
2万
查看次数

WPF:将画笔恢复为默认/原始

我是WPF的新手.

目前我正在为名为"LabeledTextbox"的表单元素进行usercontrol,其中包含标签,文本框和错误消息的文本块.

当使用代码添加错误消息时,我想将文本框的边框设置为红色.但是,当错误消息被删除时,我想回到文本框的默认边框颜色.我觉得必须有一个非常简单的方法来做到这一点.

我的代码:

(在公共部分类LabeledTextbox:UserControl中)

public string ErrorMessage
{
    set
    {
        if (string.IsNullOrEmpty(value))
        {
            _textbox.BorderBrush = Brushes.Black; //How do I revert to the original color in the most elegant way?
        }
        else
        {
            _textbox.BorderBrush = Brushes.Red;
        }

        _errorMessage.Text = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

wpf user-controls default

29
推荐指数
3
解决办法
2万
查看次数

ASP.NET MVC:Masterpage:如何在活动菜单项上设置css类

我的主页中有以下菜单:

<ul id="menu" class="lavaLampBottomStyle">
    <li>
        <%= Html.ActionLink("Employees", "Index", "Employees")%></li>
    <li>
        <%= Html.ActionLink("Customer", "Details", "Account")%></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我需要一种方法将当前活动li的css类设置为"current".

我的第一个猜测是在javascript的帮助下做到这一点.

我会在主页中包含这样的内容:

  $("#menu li a").each(){
    if($(this).attr("href") == '<%= *GET CURRENT PAGE* %>'){
       $(this).parent("li").addClass("current");
    }
  }
Run Code Online (Sandbox Code Playgroud)

这是一个好方法吗?

如果是,我如何获得当前的URL部分,如在href中?

如果不是,你的建议是什么?:-)

仅供参考,我之后生成的html:

<ul id="menu" class="lavaLampBottomStyle">
    <li>
        <a href="/KszEmployees/Index">Employees</a></li>
    <li>
        <a class="current" href="/">Customer</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

javascript asp.net-mvc

13
推荐指数
3
解决办法
2万
查看次数

通用局部视图:如何将泛型类设置为模型?

我正在尝试在ASP.NET MVC应用程序中构建通用网格视图.

让我解释一些代码:

public interface ITrustGrid<T>
{
    IPagedList<T> Elements { get; set; }
    IList<IColumn<T>> Columns { get; set; }
    IList<string> Headers { get; }
}
Run Code Online (Sandbox Code Playgroud)

这是一个类的接口,允许我在控制器中设置列和表达式.

我将实现传递给部分视图,如下所示:

<% Html.RenderPartial("SimpleTrustGridViewer", ViewData["employeeGrid"] as TrustGrid<EmployeeInfoDTO>); %>
Run Code Online (Sandbox Code Playgroud)

问题是我无法弄清楚如何使局部视图呈现网格通用.

换句话说,我想转此:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ITrustGrid<EmployeeInfoDTO>>" %>
Run Code Online (Sandbox Code Playgroud)

进入这样的事情:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ITrustGrid<T>>" %>
Run Code Online (Sandbox Code Playgroud)

=>如何以最简单的方式使我的部分视图通用?

编辑:

我通过使用具有公共TrustGrid GetTrustGrid()方法的TrustGridBuilder解决了这个问题,该方法返回非通用的TrustGrid.TrustGrid包含字符串而不是linq的东西.所以我在GetTrustGrid()方法中执行linq并将字符串放在TrustGrid对象中.

感谢大家帮助我走上正轨.

c# generics asp.net-mvc

12
推荐指数
2
解决办法
9323
查看次数

在创建后将eventhandler添加到jquery UI datepicker

我有以下场景:

在我的主页中,我有:

$(".datepicker").datepicker({
    changeYear: true,
    changeMonth: true,
    dateFormat: "dd/mm/yy",
    duration: 'fast'
});
Run Code Online (Sandbox Code Playgroud)

有了这个,我将类"datepicker"分配给的每个输入字段在单击时显示jquery UI datepicker.

现在我在页面上有一个应该处理"onSelect"事件的日期选择器.这样做的最佳做法是什么?

我看到的选项:

  • 给那个1 datepicker另一个类,比如datepickerWithSelectEvent.我不喜欢这个解决方案是我得到重复的代码来初始化changeYear,changeMonth,.... 如果我想更改项目中的日期选择器,我将不得不记住在2个地方更改它
  • 以某种方式在创建datepicker后添加eventhandler.这看起来最干净,但我真的不知道该怎么做.任何人?

jquery jquery-ui datepicker javascript-events uidatepicker

12
推荐指数
1
解决办法
7805
查看次数

是否有Visual Studio的javascript/css压缩器插件?

我正在寻找具有以下功能的visual studio插件:

在建设项目或执行工具,插件查找所有*.js*.css文件在您的项目和压缩/最大限度地减少他们进入*.min.js*.min.css文件.

在项目构建上执行该工具将使您能够在页面中保留对*.min.js的引用,而对*.js文件的更改将立即写入*.min.js文件.

有这样的东西吗?如果不是最接近自动化任务的东西是什么?

额外的问题:自动组合文件怎么样?

javascript compression obfuscation minimize visual-studio

9
推荐指数
1
解决办法
3063
查看次数

从WPF中的ViewModel类(MVVM模式)更新UI

我在我的第一个WPF应用程序中使用MVVM模式,并且遇到了我认为非常基本的问题.

当用户点击我视图上的"保存"按钮时,会执行一个命令,该命令在我的ViewModel中调用私有void Save().

问题是"Save()"中的代码需要一些时间来执行,所以我想在执行大块代码之前隐藏UI视图中的"保存"按钮.

问题是视图不会更新,直到所有代码都在viewmodel中执行.在执行Save()代码之前,如何强制视图重绘并处理PropertyChanged事件?

另外,我想要一种可重复使用的方式,这样我也可以轻松地在其他页面中做同样的事情.其他人已经做过这样的事了吗?一个"正在加载......"的消息?

wpf mvvm

9
推荐指数
1
解决办法
1万
查看次数