小编use*_*457的帖子

方法"Bundle.Include"(在System.Web.Optimization中与ASP.NET MVC一起使用)是否会抛出异常而不是默默地忽略丢失的文件?

如果缺少javascript或css文件,是否可能以某种方式抛出异常?

我已尝试使用下面的代码,但它从未抛出异常......

    public class BundleConfig {
    public static void RegisterBundles(BundleCollection bundles) {  
        ....

        bundles.Add(new ScriptBundle("~/bundles/something").Include("~/Scripts/nonExistingFile.js"));
        // I would like the above usage of Include method with 
        // a non-existing file  to throw an exception to make it 
        // obvious that an expected file is missing ...
        // but since it does not I tried to implement a method as below ...
        ...
        AssertThatAllFilesExist(bundles);
        // but unfortunately an exception is never thrown but when 
        // iterating the files in the method …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc bundle

18
推荐指数
2
解决办法
2202
查看次数

构造函数注入用作Action方法参数的View Model实例

创建视图模型时,您可以将选项(例如,在下拉列表中使用)填充到视图模型的setter属性中.问题是,当该视图模型稍后作为参数(通过框架!)传递到操作方法时,这些属性值尚未自动重新填充,因此如果由于验证错误需要重新显示表单,则需要再次重新填充这些选项.

我在这个问题中特别要求的一个可能的解决方案是如何使MVC框架使用构造函数注入实例化视图模型,这将为视图模型构造函数提供某种数据访问对象的实现(例如存储库) )当视图请求选项时,它们可用于检索选项(例如在辅助方法"DropDownListFor"中)?

我认为该解决方案可能与IModelBinderProvider或IModelBinder的实现有关,但是在网络上的示例代码片段中对这些事情进行了实验后,我仍在寻找一个完全可行的示例,可下载的可执行代码没有任何遗漏将所有事物放在一起的方法.

如果您正在寻找关于如何填充一个选择列表,例如用"Dependecy查找"而不是"Dependecy注入"你可能想看看下面的讨论中,一些另类的讨论:最好的方式来填充的SelectList的视图模型上的GET/POST 最佳在GET/POST上为ViewModel填充SelectList的方法

几天前,我在该帖子中写了关于"Dependecy Injection"的以下后续问题,我正在寻找这个帖子:https://stackoverflow.com/a/8674525/310457 (它提供了一个代码示例问题我正在寻找解决方案)

但是,我没有希望有人会找到那个标题较少的旧帖子,而是用一个更具体的主题来创建这个新问题,关于我在寻找什么.对于想要跟进我正在寻找的这个特定解决方案的任何人,我还将提供从该线程到这个新问题的链接.

dependency-injection viewmodel constructor-injection asp.net-mvc-3

7
推荐指数
1
解决办法
1911
查看次数

是否有任何javascript库与字母表的排序方法的实现,如瑞典语?

我知道您可以使用方法' localeCompare '来排序具有您自己的本地化的数组,如下所示:

aArray.sort(function(a,b){return a.localeCompare(b)});
Run Code Online (Sandbox Code Playgroud)

但是,我认为瑞典网站的大多数(几乎所有)访问者都了解瑞典语,因此无论他/她目前使用哪种" 语言环境 ",他们都会期待瑞典语排序.

(我认为现在有些人会想要争论这个假设,但我真的认为会有更多的人理解瑞典语,但目前使用的是其他语言环境而不是那些不了解瑞典语字母的人我希望"å"和"ä"的排序等同于"a"和"ö"等同于"o".我真的希望最后三个瑞典字母"åäö" 始终按顺序排序,无论如何浏览器或操作系统,无论它是什么定义了" localeCompare " 方法使用的"语言环境"

一种解决方案可能是以编程方式强制执行"localeCompare"方法时使用的"语言环境",但据我所知,这是不可能的.(虽然如果它确实可行,那么你如何改变语言环境?)

这个排序问题应该对所有瑞典javascript程序员来说都相当普遍,但我仍然无法找到任何开源库,其中包含瑞典字符串比较方法的实现.有没有人知道这样的库(与sort方法一起使用时性能良好)重用而不是自己尝试实现它?

javascript sorting localization internationalization

5
推荐指数
1
解决办法
1891
查看次数

ASP.NET MVC 4,如何在将视图模型对象用作动作方法参数之前访问/修改视图模型对象(以及更改视图和动作方法)?

ASP.NET MVC(MVC4)中是否有任何有用的钩子可以让您在调用操作方法之前访问Action方法参数(View模型),然后还可以(例如,取决于您在操作方法中检查的内容的值)参数)让你阻止调用动作方法,即将视图模型对象(动作方法参数)转发到另一个动作方法或直接转发到某个视图(即动作方法中没有任何进一步处理)?

如果您不理解这个问题,请参阅下面的代码示例,它应该说明我正在寻找的代码类型...(虽然我不知道是否确实存在这样的接口并且可能将实现挂钩到MVC框架)

如果这确实可行,我想看一个关于如何做到的代码示例的答案(而不仅仅是对某人声称例如"尝试使用方法'ActionFilterAttribute.OnActionExecuting'或'IModelBinder.BindModel'的响应",因为我已经尝试过这些并且无法使其工作).另外,请尊重我不希望这个帖子成为关于为什么这样做的讨论,但是想看看如何做到这一点.(即我不想与诸如"你究竟想要实现什么?"或"你想做什么可能更好的事情......"这样的回答进行讨论.)

这个问题可以分成三个子问题/代码示例,下面我自己的代码示例试图说明:(但希望它们"重构"为使用真实存在类型的REAL代码)(显然,下面包含子字符串的每个类型)一些"是我已经弥补的东西,我正在寻找相应的真实......"

(1)在使用视图模型对象参数调用实际操作方法之前,如何在通用位置访问(并可能修改)视图模型对象(操作方法参数)的示例.

我正在寻找的那种代码示例可能类似于下面但不知道使用什么类型的接口以及如何注册它以便能够执行以下操作:

public class SomeClass: ISomeInterface { // How to register this kind of hook in Application_Start ?
  public void SomeMethodSomewhere(SomeActionMethodContext actionMethodContext, object actionMethodParameterViewModel) {
    string nameOfTheControllerAboutToBeInvoked = actionMethodContext.ControllerName;
    string nameOfTheActionMethodAboutToBeInvoked = actionMethodContext.MethodName;
    // the above strings are not used below but just used for illustrating that the "context object" contains information about the action method to become invoked by the MVC framework
    if(typeof(IMyBaseInterfaceForAllMyViewModels).IsAssignableFrom(actionMethodParameterViewModel.GetType())) {
        IMyBaseInterfaceForAllMyViewModels viewModel = (IMyBaseInterfaceForAllMyViewModels) …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc model-binding asp.net-mvc-4

4
推荐指数
1
解决办法
5307
查看次数