小编Rod*_*ira的帖子

为什么CSS和JS文件会绕过Asp.Net MVC路由?

我收到了一个用Asp.Net MVC4构建的原型应用程序.它目前正在使用NInject,ServiceLocator等全部替换默认控制器工厂.

问题是,通过替换默认控制器工厂,对JS文件的请求被视为对控制器和操作的合法请求.

因此,查看Visual Studio创建的默认模板,路由配置如下所示:

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

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

看了之后,我问自己:为什么"/Scripts/jquery.js"的请求不会被Asp.Net MVC解释?我的意思是,为什么它不认为"脚本"是一个控制器而"jquery.js"是一个动作?

因为如果禁用控制器工厂覆盖,项目可以工作,我只能假设默认工厂负责这种检查.这意味着"/ Scripts/jquery.js"确实传递给控制器​​工厂,这是我真正不知道的事情.

任何人都可以对此有所了解吗?

当覆盖控制器工厂以避免此类问题时,应该做什么样的处理?

c# asp.net asp.net-mvc asp.net-mvc-routing asp.net-mvc-4

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

如何避免在我的服务层上引用Entity Framework?

在尝试为新项目创建数据访问层时,我遇到了我只能想象的OOP/Design/Generics问题(使用EF 4.3访问数据库).

主要是我想用这个数据层实现两件事:

  • 我项目中的不同Context对象应该共享相同的连接字符串.
  • 具有通用实现的抽象存储库类.

出于某种原因,我无法在服务层上引用EntityFramework的情况下编译我的解决方案.我正在寻找的是解决这个问题的方法.这就是我所拥有的:

//Project/Namespace BusinessLogicLayer.DomainClasses
//POCO classes mapped on Entity Framework.

//Project/Namespace DataAccessLayer.Base
//Base classes and interfaces for all data access layer, such as:

public abstract class BaseContext<TContext> : DbContext where TContext : DbContext
{
  //To allow multiple contexts sharing the same connection string
  protected BaseContext(): base("name=MyConnectionString") {}
}

//Generic interface for a read-only repository
public interface IReadOnlyRepository<T> : IDisposable where T : class

//Generic interface for a read/write repository
public interface IRepository<T> : IReadOnlyRepository<T> where T …
Run Code Online (Sandbox Code Playgroud)

.net c# oop generics entity-framework

8
推荐指数
1
解决办法
4111
查看次数

如何使用Entity Framework Code First Fluent API仅在连接表上级联删除

我正在尝试使用Entity Framework Code First Fluent API映射现有数据库.我在与多对多关系和级联删除的情况下苦苦挣扎.

这是我的两个POCO课程:

public class Foo
{
  public int FooId;
  public string FooDescription;
  public IList<Bar> Bars;
}
public class Bar
{
  public int BarId;
  public string BarDescription;
}
Run Code Online (Sandbox Code Playgroud)

现在,我只有从导航属性FooBar.这是因为在我的真实的情景,这是没有意义的人,从去BarFoo.from Footo 的关系Bar实际上是0,n表示一个Foo不需要实例的实例Bar.

我现有的数据库在这两个表之间有一个连接表.此表如下所示:

create table Foo_Bar(
FooId int not null,
BarId int not null
);
Run Code Online (Sandbox Code Playgroud)

因为我不想在我的项目中创建这样的POCO类,所以我映射了这样的表:

modelBuilder.Entity<Foo>()
  .HasMany(t => t.Bars)
  .WithMany()
  .Map(m =>
  {
    m.ToTable("Foo_Bar");
    m.MapLeftKey("FooId");
    m.MapRightKey("BarId");
  });
Run Code Online (Sandbox Code Playgroud)

这适用于插入.实体在Foo上插入,然后在现有Foo_Bar表上插入.

但是当我删除a时 …

.net c# entity-framework ef-code-first

8
推荐指数
1
解决办法
3350
查看次数

如何将图像置于嵌套在另一个面板内的Bootstrap面板中?

我有一个带有主引导板的页面,在这个面板中我有另一个面板.目标是在主要面板内部放置多个嵌套面板,创建看起来类似于图库的东西.

我能够创建内容,此时它是响应式的,在必要时调整每行嵌套面板的数量及其大小.

然而,内部面板具有应居中的图像.我尝试将图像放在带有类容器div .但是,当我这样做时,在某些屏幕尺寸下,图像最终会在内部面板之外.

这是我的HTML(为简单起见,只有2个内部面板):

<div id="mainContainer" class="container">
    <div class="panel panel-default">
        <div class="panel-heading">Panel Title</div>
        <div class="panel-body">
            <div class="row">
                <!--BEGIN OF ITEM 1 -->
                <div class="col-lg-2 col-md-3 col-sm-4 col-xs-6">
                    <div class="panel panel-default">
                        <div class="panel-heading">Item 01</div>
                        <div class="panel-body"><img src="http://placehold.it/150x150" alt="" class="img-responsive" />
                    </div>
                </div>
                <!--END OF ITEM 1 -->
                <!--BEGIN OF ITEM 2 -->
                <div class="col-lg-2 col-md-3 col-sm-4 col-xs-6">
                    <div class="panel panel-default">
                        <div class="panel-heading">Item 02</div>
                        <div class="panel-body"><img src="http://placehold.it/150x150" alt="" class="img-responsive" />
                    </div>
                </div>
                <!--END OF ITEM 2 --> …
Run Code Online (Sandbox Code Playgroud)

css html5 twitter-bootstrap twitter-bootstrap-3

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

在iOS11上,如何让UIToolbar调整所有项目的大小?

在iOS 10之前,UIToolbar在其项目之间具有灵活的空格键按钮项目将自动减少字体,以便所有文本显示在屏幕上.以下示例(iOS 10):

iOS 10示例

从XCode 9开始,在模拟器上运行iOS 11时,我的工具栏显示如下:

iOS 11示例

文本不仅缩小了字体大小,而且最后一个条形按钮项(没有文本,只有图像)也消失了.

试图解决这个问题,我发现自iOS 11以来,UIToolbar现在使用的是Autolayout而不是Frames.与此问题相关的一些帖子建议为项目创建约束,指定项目的宽度和/或高度.

但是,我想要实现的是适合工具栏中的所有内容,即使这意味着减小字体大小.我认为我不能以编程方式设置固定的宽度/高度.

此外,这是在故事板上使用IB构建的.UIBarButtonclass不允许我访问UILabel(对于文本项)或ImageView(对于带有图像的项).我检查,customViewnil在运行时.

我试图通过代码创建项目,设置customView一个UILabeladjustsFontSizeToFitWidth设置为true没有任何的运气.我不知道iOS 11上灵活空格键项的目的是什么.

那么,如何模仿我以前的行为呢?适合所有项目并自动调整文本大小?

uitoolbar ios autolayout ios-autolayout

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

如何覆盖由Asp.Net UpdatePanel添加(动态)的Javascript函数?

我在只能想象是Javascript范围问题和Microsoft Asp.Net客户端框架方面遇到了一些麻烦。

由于此问题中所述的原因,我需要覆盖由Asp.Net的ScriptResource.axd提供并由其Validator服务器控件使用的javascript函数ValidatorConvert。

首先,我将介绍如何使代码正常工作。然后,我将展示一个无法正常工作的方案。

这是带有验证程序控件的简单Asp.Net WebForm:

<body>
<form id="form1" runat="server">
    <script type="text/javascript">
        function ValidatorConvert(op, dataType, val) {
            //>>Overwrite ValidatorConvert function.
            //>>Call to the original JS file will be below the form tag and above script tag
            return op.toString(); //<<Consider everything as valid (client side)
        }
    </script>
    <asp:ScriptManager runat="server"
        ID="Scriptmanager1" 
        allowcustomerrorsredirect="true" 
        asyncpostbackerrormessage="Operation cannot be executed."
        asyncpostbacktimeout="90"
        enablepartialrendering="true"
        enablescriptglobalization="true" 
        enablescriptlocalization="true" 
        supportspartialrendering="true" 
        scriptmode="Inherit"></asp:ScriptManager>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:CompareValidator
        ID="CompareValidator1"
        runat="server"
        ErrorMessage="Ops, not an integer"
        Operator="DataTypeCheck"
        Type="Integer"
        ControlToValidate="TextBox1"></asp:CompareValidator>
    <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net

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

我如何使用当前版本的aurelia-validation?

我正在尝试遵循aurelia(验证)教程.但是,我知道它需要更新.即便如此,我认为通过文档,我将能够弄清楚如何使其工作,这是不会发生的.

原始代码如下:

import {inject} from "aurelia-framework";
import {Validation} from "aurelia-validation";

@inject(Validation)
export class Edit {

    constructor(validation) {
        this.validation = validation.on(this)
            .ensure("movie.title")
                .isNotEmpty()
            .ensure("movie.releaseYear")
                .isNumber();
    }
}
Run Code Online (Sandbox Code Playgroud)

这似乎不再起作用了.尝试在构造函数中进行验证时出现注入错误.

我去了文档,似乎不再存在验证符号.

我试图注入ValidationRules验证到我的课,但没有支持保证的方法.

我尝试按照文档上的流程进行操作,其中"on"将是最后一个方法调用.但由于甚至没有确保工作,我被困住了.

感谢任何帮助.

aurelia aurelia-validation aurelia-framework

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