小编DiP*_*Pix的帖子

如何将我的模型数据(列表)映射到另一个viewmodel数据(列表)MVC asp.net

在这种情况下,如何将我的模型数据(列表)映射到另一个viewmodel数据(列表)?

这是我有的:

我的json viewmodel

public class JsonViewModel
{
    public List<JsonItem> Items { get; set; } 
}

public class JsonItem
{
    public string Name { get; set; }
    public int Unit { get; set; }
    public decimal Price { get; set; }
    public IEnumerable<Item> ItemStock { get; set; } 
}
Run Code Online (Sandbox Code Playgroud)

我的主要模特

public class Item
{
    public int ItemId { get; set; }
    public string Name { get; set; }
    public int QuantityInPack { get; set; }
    public int Quantity { get; …
Run Code Online (Sandbox Code Playgroud)

database asp.net asp.net-mvc json viewmodel

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

如何根据 JavaScript Node.js 中的单个值动态拆分数组

我需要根据 JavaScript 中的单个值动态拆分数组。

我有一个数组:

var dataStuff = [
    { Name: 'Apple', Tag: 'Fruit', Price: '2,5'},
    { Name: 'Bike', Tag: 'Sport', Price: '150'},
    { Name: 'Kiwi', Tag: 'Fruit', Price: '1,5'},
    { Name: 'Knife', Tag: 'Kitchen', Price: '8'},
    { Name: 'Fork', Tag: 'Kitchen', Price: '7'}
];
Run Code Online (Sandbox Code Playgroud)

我希望按标签拆分数组,例如。

var Fruit = [
    { Name: 'Apple', Tag: 'Fruit', Price: '2,5'},
    { Name: 'Kiwi', Tag: 'Fruit', Price: '1,5'}
];

var Sport = [
    { Name: 'Bike', Tag: 'Sport', Price: '150'}
];

var Kitchen = [ …
Run Code Online (Sandbox Code Playgroud)

javascript arrays node.js pug

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

webpack卡在95%发射/ ng构建--aot --watch

在我的Angular 5应用程序中,我正在使用ng build --aot --watch构建应用程序并观察代码中的任何更改.不幸的是,通常在第二次,第三次保存文件 - webpack只是卡住消息:95% emitting我必须取消终端并再次执行.

我找到了解决方法,ng build --aot --watch --sourcemaps=false虽然我无法在资源管理器中调试打字稿.所以这个解决方案并不完美.

webpack angular

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

如何在IdentityServer ASP.NET Core中使用邮递员使用AntiForgeryToken调用API

我正在尝试使用Postman与Identity Server Asp.net Core一起测试我的API。

这就是我要尝试的方式:

  1. HttpGethttps:// localhost:5000 / Account / Login的第一个请求,并在响应正文中收到:<input name="__RequestVerificationToken" type="hidden" value="CfDJ8MoS9upoM4dNp8Kx-AdvA-uYr13_PAkuMZpzYMV8UmxZq5GdLTvN-Ht5NpTLmPtlhL5d5z2Hu2vUJoJGhk1AMlARDcOwqgq7Cef1dfQL_vl4tIFM4kx9RZPz8DHU26-U9qLnKAIstZgR42-1FuGNh24" />

在Cookie中(不确定是什么): 在此处输入图片说明

  1. 然后HttpPosthttps://开头本地主机:5000 /帐号/登录RequestVerificationToken使用令牌从身体接收到的HttpGet请求。 在此处输入图片说明

而且总是error 400如您在上面的屏幕截图中所见。

在Visual Studio中,我可以看到捕获了一些请求,但显然是不正确的。 在此处输入图片说明

如果我将删除属性,[ValidateAntiForgeryToken]那么当然一切都会很好,但是显然因为禁用了验证。

asp.net-identity postman asp.net-core identityserver4

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

为什么我应该返回 ActionResult 而不是对象?

假设我有应用程序 .NET Core 2.1 Web API + Angular 7

为什么我总是要返回ActionResult?这有什么区别吗:

public ActionResult<MyDTO> GetData(){
    return new MyDTO();
}
Run Code Online (Sandbox Code Playgroud)

然后:

public MyDTO GetData(){
    return new MyDTO();
}
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,我都会在 UI 上接收对象,并且都返回代码 200。那么使用 ActionResult 只是一种好的做法,还是什么?

c# asp.net-core

5
推荐指数
3
解决办法
3649
查看次数

具有oidc-client.js的Angular应用程序需要在第二个选项卡中登录

我在(oidc-client.js)+ .Net Core IdentityServer4处理的Angular 8中获得了授权。

一切似乎都正常,但是当我在第二个选项卡中打开相同的应用程序时,则需要我再次登录。IdentityServer4具有cookie,因此单击“ 登录”按钮就足够了,并且无需再次提供登录名/密码即可接收新令牌。无论如何,它仍然很烦人。

有什么办法解决吗?我在githubg上发现了一个可能会有所帮助的问题。

有人建议需要将令牌本地化从LocalStorage更改为SessionStorage。但是从个人角度而言,SessionStorage更好,我会保留在那个位置。

authorization session-storage identityserver4 oidc-client-js angular

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

AppModule 中导入的模块在不同模块中不可见

假设这是我的 AppModule:

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    MaterialModule,
    HomeModule
  ],
  exports: [
    MaterialModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)

正如你所看到MaterialModule的,我声明了HomeModule,然后我导出了它MaterialModule。但仍然在HomeModule我无法使用组件中MaterialModule,错误:

1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. 
Run Code Online (Sandbox Code Playgroud)

所以我被迫MaterialModule再次导入HomeModule。这是正确的行为还是我做错了什么? …

angular

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

验证不会传播到 Angular 中的自定义表单控件 ng-select

我在 Angular 9 应用程序中使用带有自定义表单控件的响应式表单。

我用自定义表单控件包装了我的ng-select控件。

我在验证方面遇到问题。我将 formControl 设置为必需。文档说cssng-invalid类应该自动设置为 ng-select。但实际上使用自定义表单控件它无法正常工作。css 类未设置,但包装器类已设置。我做错了什么还是这是图书馆的问题?

检查stackblitz: https://stackblitz.com/edit/angular-rmvttg-ex63ka ?file=src/forms-single-select-example.component.html&fbclid=IwAR2robtd_15khTVhmW59lLhn21HOHl_yYTrCWKaPRmfUt1QVvUn3n8V4Vjo

typescript angular-ngselect angular angular-reactive-forms

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

如何在 Angular 规范测试文件中禁用 strictNullChecks?

在我的tsconfig.json中,我有规则"strictNullChecks": true,但我不希望在我的测试中使用此规则,因为所有 *.spec.ts 文件。所以我试图在tsconfig.spec.json中覆盖此标志,但它不起作用。我究竟做错了什么?

tsconfig.json

{
    "compileOnSave": false,
    "compilerOptions": {
        "noImplicitAny": true,
        "noImplicitReturns": true,
        "noImplicitThis": true,
        "noFallthroughCasesInSwitch": true,
        "strictNullChecks": true,
        "downlevelIteration": true,
        "importHelpers": true,
        "module": "esnext",
        "outDir": "./dist/out-tsc",
        "sourceMap": true,
        "declaration": false,
        "moduleResolution": "node",
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "alwaysStrict": true,
        "skipLibCheck": true,
        "target": "es5",
        "typeRoots": [
            "node_modules/@types"
        ],
        "lib": [
            "es2017",
            "dom"
        ],
        "baseUrl": "./ClientApp",
    },
    "angularCompilerOptions": {
        "strictTemplates": true,
        "strictOutputEventTypes": false
    }
}
Run Code Online (Sandbox Code Playgroud)

tsconfig.spec.json

{
    "extends": "../tsconfig.json",
    "compilerOptions": {
        "outDir": "../out-tsc/spec",
        "baseUrl": "./", …
Run Code Online (Sandbox Code Playgroud)

typescript angular

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

OAuth 中的 code_challange 与状态参数?有什么不同?

我试图了解OAuth 2.0 授权代码流 + PKCEcode_challange和参数之间的区别。state

我知道该state参数是针对 CSRF 攻击的验证,并在客户端(例如 Angular SPA)上生成(并保存在本地存储中),并且需要在成功登录后从回调中的授权应用程序返回,并与之前在state本地保存的值进行比较贮存。

code_challange生成的基础上code_verifier也是生成并保存在本地存储中。那么使用上有什么区别呢?

我还注意到奇怪的事情 - 我复制了生成的身份验证网址,它是:https://APP_ADDRESS.b2clogin.com/APP_ADDRESS.onmicrosoft.com/b2c_signupsignin/oauth2/v2.0/authorize?client_id=f9d2b[...]&redirect_uri=http%3A%2F%2Flocalhost%3A4200%2Fauth-callback&response_type=code&scope=f9d2b[...]%20openid&state=31caa207[...]&code_challenge=-MefGRhOo[...]&code_challenge_method=S256&response_mode=query

我在不同的浏览器中使用了该网址。我能够成功登录。我只在控制台中遇到错误:No matching state found in storage。这是有道理的,因为新浏览器中的本地存储是空的。

但为什么没有任何错误呢code_challange?我想它应该无法登录成功,或者我错过了什么?

oauth-2.0 openid-connect azure-ad-b2c pkce

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