小编ref*_*tor的帖子

在ASP.NET MVC代码中识别角度js AJAX调用

我正在使用ASP.NET MVC和AngularJS开发示例应用程序.

在服务器端代码中,我编写了一个Action过滤器属性,我需要检查请求是否是正常请求(浏览器)或AJAX请求.

public override void OnActionExecuting(ActionExecutingContext filterContext)
{
    if ( filterContext.HttpContext.Request.IsAjaxRequest())
     {

     }
}
Run Code Online (Sandbox Code Playgroud)

在使用$ http Angular服务进行AJAX请求的情况下,上面的代码片段"IsAjaxRequest()"中提到的方法没有返回TRUE.

我发现请求没有X-Requested-With标头,甚至添加标头也没有解决请求.

注意:这不是CORS电话.

所以我的问题.

  1. filterContext.HttpContext.Request.IsAjaxRequest()如何决定请求是否为AJAX?

  2. 我可以检查请求标头(是否有特定标头)并确定请求是否是AJAX.这是正确而唯一的方法吗?

ajax asp.net-mvc angularjs

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

Angular2"没有导出的成员bootstrap"错误

我的Atom编辑器显示:

模块'"C:/ express4/node_modules/@ angular/platform-b​​rowser-dynamic/index"'没有导出成员'bootstrap'.at第2行col 10

对于TypeScript文件中的以下导入:

import { bootstrap } from '@angular/platform-browser-dynamic';
Run Code Online (Sandbox Code Playgroud)

知道这个警告的原因是什么?

typescript angular

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

在Html.ActionLink(MVC 4)中使用Html.DisplayNameFor

在我的剃刀视图中,我使用@ Html.ActionLink来显示超链接,并且显示的文本是硬编码的(在这种情况下为"Brand").视图的模型是@model IEnumerable

Exisitng View

@Html.ActionLink("Brand", "Index", new { sortOrder = ViewBag.BrandSortParm })
Run Code Online (Sandbox Code Playgroud)

想要使用@ Html.DisplayNameFor作为@Html.ActionLink中的第一个参数,而不是对文本进行硬编码,如下所述,这给出了编译错误

@Html.ActionLink(@Html.DisplayNameFor(model => model.BRAND_NAME), "Index", new { sortOrder = ViewBag.BrandSortParm })
Run Code Online (Sandbox Code Playgroud)

请让我知道,怎么做.

asp.net-mvc

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

如何在Angular 2中显示通知

在AngularJS(版本1.x)中,我们有ng-notify用于显示通知,我们想知道如何在Angular 2中实现相同的功能.

知道怎么做吗?

notifications angular

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

订阅Angular 2中的多个Observable

我的Angular 2应用程序在服务中有2个方法[GetCategories()和GetCartItems()],这两个方法都返回Observables.

为了从我的组件一个接一个地调用这两个方法,我写了下面的代码

 ngOnInit() 
{
   this.appService.GetCategories().subscribe( (data) => {
       this.appService.categories = data;


       this.appService.GetCartItems().subscribe( {
                                                    next: (data) => { this.appService.cart = data},
                                                    error: (err) => { this.toaster.error('cart==>' + err)}

                                                })

   });       
}
Run Code Online (Sandbox Code Playgroud)

基本上从GetCategories()的订阅中调用GetCartItems,我觉得这不是正确的方法,这是一种回调地狱.

知道如何以更好的方式实现这一点(比如在promises中链接"then")?

rxjs rxjs5 angular

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

理解打字稿类中的"公共"/"私人"

在下面的类型脚本代码中,无论名称是"public"还是"private",生成的java脚本代码都是相同的.

所以我的问题是,如何确定构造函数参数何时应该是公共参数还是私有参数?

// typescript code
class Animal {  
constructor( public name: string) {     
}

}

// generated JS code
var Animal = (function () {
function Animal(name) {
    this.name = name;
}
return Animal;
}());
Run Code Online (Sandbox Code Playgroud)

typescript

8
推荐指数
2
解决办法
8875
查看次数

在使用ngrx时完成调度后执行代码

在我的示例Angular 2应用程序中,我使用ngrx/store和ngrx/effects进行状态管理.

下面是组件中添加新项目的功能之一.

addAuthor() {

    this.store.dispatch(addAuthorAction(this.fg.value));
    console.log('2')        
} 
Run Code Online (Sandbox Code Playgroud)

在上面的代码"this.store.dispatch(addAuthorAction(this.fg.value));"中 负责向服务器进行AJAX调用并向数据库添加新作者,这很好.

因为"this.store.dispatch(addAuthorAction(this.fg.value));" 是一个异步操作,即使在AJAX调用完成之前,也会执行console.log("2")语句.

我的问题是,需要修改什么才能在store.dispatch完成后执行console.log.

redux ngrx ngrx-effects angular

8
推荐指数
3
解决办法
8994
查看次数

MVC 4中的ClientValidationEnabled和UnobtrusiveJavaScriptEnabled

在MVC 4,为了使客户端验证的观点,应该两键ClientValidationEnabledUnobtrusiveJavaScriptEnabled在web.config中是真的吗?

WEB.CONFIG

<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc-4

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

打字稿中的导入与需求

当我浏览Angular2文档时,我在这里遇到了下面的代码.

SRC/polyfills.ts

import 'core-js/es6';
import 'core-js/es7/reflect';
require('zone.js/dist/zone');

if (process.env.ENV === 'production') {
 // Production
} else {
 // Development
Error['stackTraceLimit'] = Infinity;
require('zone.js/dist/long-stack-trace-zone');
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我们可以看到有两个importrequire语句.

"core-js"和"zone.js"都是节点模块.

我的问题是; 为什么import用于core-js和require"zone.js",有什么特别的原因吗?

node.js typescript

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

如何在Angular 2中创建RxJS主题?

我能够以下面提到的方式在我的角度组件中创建一个Observable

...
...
import { Observable } from 'rxjs/Observable';
..
...
let observable = new Observable( function subscribe(observer) {
        observer.next(1);
        observer.next(2);
        observer.next(3);
        observer.next(4);
        setTimeout(() => {observer.next(5); },9000);
    });
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何创建一个主题,有人可以提供相同的例子吗?

rxjs angular

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