小编Leo*_*era的帖子

ASP.NET MVC - Bundle Config命令

我正在尝试在我的ASP.NET MVC 5应用程序中使用特定的语言环境(es-CL).我有以下几点:

  1. 将web.config uiculture和culture更改为"es-CL"
  2. 安装了GlobalizejQuery.Validation.Globalize
  3. 更改了我的视图中的默认语言: <html lang="es-cl">
  4. 创建了一个新的Bundle并包含在相应的视图中.

BundleConfig.cs中:

bundles.Add(new ScriptBundle("~/bundles/jqueryval")
    .Include("~/Scripts/jquery.validate.js")
    .Include("~/Scripts/jquery.validate.unobtrusive.js"));

bundles.Add(new ScriptBundle("~/bundles/globalization")
    .Include("~/Scripts/globalize/globalize.js")
    .Include("~/Scripts/globalize/cultures/globalize.culture.es-CL.js")
    .Include("~/Scripts/jquery.validate.globalize.js"));
Run Code Online (Sandbox Code Playgroud)

在适当的观点:

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
    @Scripts.Render("~/bundles/globalization")
}
Run Code Online (Sandbox Code Playgroud)

但是,生成的源代码如下:

<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>

<script src="/Scripts/jquery.validate.globalize.js"></script>
<script src="/Scripts/globalize/globalize.js"></script>
<script src="/Scripts/globalize/cultures/globalize.culture.es-CL.js"></script>
Run Code Online (Sandbox Code Playgroud)

请注意,jquery.validate.globalize.js脚本被加载之前globalize.js,这不是我想要的.

为什么会这样?是否可以在单个包中依赖包含顺序,或者我是否被迫将此单个脚本放在不同的包中并在我的视图中指定它?

javascript asp.net asp.net-mvc

78
推荐指数
3
解决办法
4万
查看次数

如何从ASP.NET身份获取用户列表?

编辑:这个问题已经过时了

在我问这个时,身份框架是一个移动目标.作者改变了很多东西,他们将几件事分开,使事情变得更容易.

看看github上的Asp.NET Identity Sample项目.


我正在创建一个需要用户管理的小应用程序.不允许注册,而是有超级用户将创建和修改登录信息.

我正在使用新的ASP.NET身份会员系统,当然,创建用户和添加角色非常简单直观.

现在,我的问题:如何使用生成的AccountController类使用的AuthenticationIdentityManager类获取用户列表?我找不到从我的控制器访问用户列表的方法.

(顺便说一句,新名称"身份"对某些人来说可能听起来很棒,但搜索却很痛苦.)

编辑:如果我尝试这样做

ApplicationDbContext UsersContext = new ApplicationDbContext();
UsersContext.Users.ToList(); // Exception
Run Code Online (Sandbox Code Playgroud)

我得到一个例外Invalid column name 'Discriminator'.ApplicationDbContext的定义由新的应用程序向导自动生成:

using Microsoft.AspNet.Identity.EntityFramework;

namespace Cobranzas.Models
{
    public class ApplicationUser : User
    {

    }
    public class ApplicationDbContext : IdentityDbContextWithCustomUser<ApplicationUser>
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

所以我的猜测是,Discriminator列告诉分开ApplicationUserUser.但是,它在我的数据库中不存在(由应用程序自动创建).

asp.net asp.net-membership asp.net-mvc-5 asp.net-identity

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

ASP.NET Core中的IServiceProvider

我开始学习ASP.NET 5(vNext)中的更改,但无法找到如何获取IServiceProvider,例如在"Model"的方法中

public class Entity 
{
     public void DoSomething()
     { 
           var dbContext = ServiceContainer.GetService<DataContext>(); //Where is ServiceContainer or something like that ?
     }
}
Run Code Online (Sandbox Code Playgroud)

我知道,我们在启动时配置服务,但所有服务集合还是IServiceProvider?

c# dependency-injection asp.net-core

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

Delphi新RTTI的实际用法 - 属性,值

在Delphi中找到了关于新RTTI的一个很好的解释,但我不明白我读过的所有重要内容 - 我在哪里可以使用它?

它应该取代什么?

delphi attributes rtti delphi-2010

19
推荐指数
2
解决办法
2945
查看次数

如何循环类中的所有属性

我在我的Delphi应用程序中有一个类,我想要一种简单而动态的方法将所有字符串属性重置为'',并将所有布尔属性重置为False就我在网上看到的那样,应该可以创建一个循环某种形式,但如何做到这一点对我来说并不清楚.

delphi properties class rtti delphi-xe

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

Delphi是否等同于Java的PermissionManager或AccessController类?

是否有任何类(免费,开源或商业)执行类似于Java的AccessController的访问控制?我想创建一组可在运行时更改的动态策略.

但是,我想避免编码

if Allowed( ... ) then
Run Code Online (Sandbox Code Playgroud)

到处都是.我知道我可能需要调整我的程序类层次结构,但我更喜欢它而不是手动添加整个地方的警卫.

如果没有现成的代码,那么什么是合理的方法呢?RTTI?

编辑:以下是GlassFish中安全注释和授权以及Java EE 5 SDK文章中的示例.由于有人在评论中提到了注释,我认为这是理想的:

@Stateless
@RolesAllowed("javaee")
public class HelloEJB implements Hello {
    @PermitAll
    public String hello(String msg) {
        return "Hello, " + msg;
    }

    public String bye(String msg) {
        return "Bye, " + msg;
    }
}
Run Code Online (Sandbox Code Playgroud)

来自文章:

在此示例中,每个人都可以访问hello()方法,角色javaee的用户可以访问bye()方法.

编辑: 嗯,似乎普遍的共识是,这不能在Delphi中完成.其他人认为这是一个糟糕的方法.

我,我仍然认为这会很棒.我在Java中使用Annotations的经验(作为图腾柱中的代码猴子)是积极的.您添加了一个新方法,添加了某种形式的注释(与Java安全注释不完全相同),您就完成了.管理员稍后可以转到管理面板,并将该新处理程序的授予访问权限添加到组或单个用户.它只是有效.

这些是我目前的选择:

  1. TMS安全系统 -这似乎像一个完整的解决方案,有几个工具.值得研究.我接受这个作为答案,即使我可能不会这样做.
  2. 这看起来很有希望:Delphi虚拟方法拦截.它只适用于虚拟方法,但我认为这不太难以遵守.这个和注释可以成为一个有趣的系统(它似乎最初是为DataSnap身份验证而设计的)
  3. 在您的应用程序中只有一个ActionManager,并确保所有操作只能从那里启动.这样你就可以使用动作管理器OnExecute方法; 我假装使用该TAction.Name属性作为权限名称("处理程序"),从表中读取允许的操作列表.我可以使用动作管理器中的动作列表在管理界面中显示整个列表.

delphi delphi-xe

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

EF7多对多

楷模:

public partial class Film
{
    public int FilmID { get; set; }
    public virtual ICollection<Genre> Genres { get; set; }
}

public class Genre
{
    public int GenreID { get; set; }

    public virtual ICollection<Film> Films { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

OnModel使用EF6创建

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    modelBuilder.Entity<Film>()
                    .HasMany(e => e.Genres)
                    .WithMany(e => e.Films)
                    .Map(m => m.ToTable("Genre_Film").MapLeftKey("Films_IdFilm").MapRightKey("Genres_IdGenre"));
}
Run Code Online (Sandbox Code Playgroud)

我使用SQLite.我如何使用EF7做同样的事情?

c# entity-framework-core

9
推荐指数
2
解决办法
5355
查看次数

TTreeView自定义绘制所选项目

我正在尝试为我的应用程序模拟Outlook 2013左窗格树视图菜单.我正在使用CustomDraw,因为我只想更改一些简单的字体和背景属性.

这就是我想要的:

Outlook 2013侧边栏菜单

但是,我始终为选定节点和热跟踪节点获取默认选定的绘图.我没有Windows 7或XP来查看这是否是正常行为,或者它是否与我的操作系统相关(Windows 8).

这是我得到的:

模仿Outlook 2013风格的侧边栏菜单

这是我的代码:

procedure TMainForm.TreeView1CustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  if Node.Level = 1 then
    Sender.Canvas.Font.Size := Sender.Canvas.Font.Size + 2;

  if cdsHot in State then
    Sender.Canvas.Brush.Color := $00F7E6CD
  else if (cdsSelected in State) or (cdsFocused in State) or
    (cdsChecked in State) then
    Sender.Canvas.Brush.Color := $00F2F2F2
  else
    Sender.Canvas.Brush.Color := $00DEDEDE;
  DefaultDraw := true;
end;
Run Code Online (Sandbox Code Playgroud)

如何为选定和热门项目绘制不同颜色的背景?

delphi treeview delphi-xe windows-8

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

ASP.NET Core MVC使用现有数据库进行身份验证

我即将使用ASP.NET Core框架实现Web应用程序(现有应用程序的后台办公室).目前我正在考虑如何验证用户身份.主数据库使用MySQL(此框架不支持),因此我将通过现有的PHP SOAP API访问数据库.

有没有办法实现基于令牌的(OAuth)身份验证,知道数据访问将通过SOAP API完成?

mysql asp.net-core

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

如何更改delphi GUI样式?

好吧我不太了解delphi,但我做了一些项目,通常有典型的Windows组件样式,如下所示: 新风格

我正在开发一个项目,我从一些演示代码开始,然后风格完全关闭,从这个按钮可以看出: 老式

我不确定为什么它会有所不同,因为我使用相同的组件.是否有一些项目设置我可以改变,以恢复这个应用程序的正常的东西?

delphi user-interface delphi-2010

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