小编Edd*_*die的帖子

Web API复杂参数属性均为null

我有一个Web API服务调用,用于更新用户的首选项.不幸的是,当我从jQuery ajax调用调用此POST方法时,请求参数对象的属性始终为null(或默认值),而不是传入的内容.如果我使用REST客户端调用相同的方法(我使用Postman) ,它工作得很漂亮.我无法弄清楚我做错了什么,但希望有人见过这个.这很简单......

这是我的请求对象:

public class PreferenceRequest
{
    [Required]
    public int UserId;

    public bool usePopups;
    public bool useTheme;
    public int recentCount;
    public string[] detailsSections;
}
Run Code Online (Sandbox Code Playgroud)

这是UserController类中的控制器方法:

    public HttpResponseMessage Post([FromBody]PreferenceRequest request)
    {
        if (request.systemsUserId > 0)
        {
            TheRepository.UpdateUserPreferences(request.UserId, request.usePopups, request.useTheme,
                                         request.recentCount, request.detailsSections);

            return Request.CreateResponse(HttpStatusCode.OK, "Preferences Updated");                
        }
        else
        {
            return Request.CreateErrorResponse(HttpStatusCode.NotAcceptable, "You must provide User ID");
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是我的ajax电话:

var request = {
    UserId: userId,
    usePopups: usePopups,
    useTheme: useTheme,
    recentCount: recentCount,
    detailsSections: details
};

$.ajax({
    type: "POST",
    data: request,
    url: …
Run Code Online (Sandbox Code Playgroud)

c# ajax jquery json asp.net-web-api

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

AngularJs:根据路线隐藏导航栏元素?

我试图找出如何根据路线或当前显示的视图显示或隐藏导航栏中的元素.例如,当用户在搜索表单上时,我有一个基本/高级切换按钮,我放在导航栏(Bootstrap 3)中.但是,当他们在应用程序中的任何其他位置时,应该隐藏切换按钮.

就DOM而言,它只是一个构建导航的列表项.我不确定是否应该根据在每个视图上设置的全局值显示或隐藏,或者我是否可以使用路径或视图名称.如果是这样的话怎么样?

谢谢!

javascript twitter-bootstrap angularjs

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

Kendo UI Grid:选择单个单元格,返回DataItem,并阻止选择特定单元格?

我有一个显示一组数据的Kendo UI Grid,我需要能够选择特定的单元格(特定列中的单元格),并且在选中时,返回所选单元格所在行的DataItem,以及单击的DataItem.我不知道这是否可能,但我一整天都在努力,并得出结论我需要一些帮助.

这是我的grid和dataBound函数,它当前为我提供了DataItem,但就是这样:

    var hhGrid = hhDiv.kendoGrid({
        dataSource: housing,
        scrollable: false,
        sortable: true,
        selectable: 'cell',
        columns: [
            { field: "Start", title: "Start", format: "{0:MM/dd/yyyy}", type: "date" },
            { field: "Stop", title: "Stop", format: "{0:MM/dd/yyyy}", type: "date" },
            { field: "Facility" },
            { field: "Area" },
            { field: "Pod" },
            { field: "Cell" },
            { field: "Comment" }
        ]
    }).data('kendoGrid');

    hhGrid.bind('change', grid_change);

function grid_change(e) {
    var selectedCells = this.select();
    var dataItem = this.dataItem(selectedCells[0].parentNode);
}
Run Code Online (Sandbox Code Playgroud)

首先,有没有办法在网格定义中"关闭"特定列的选择?这样做我找不到任何东西.我只希望用户能够在"Area","Pod"和"Cell"列中选择单元格.如果他们点击其他列,则不会发生任何事情.此外,当他们点击那些选定的单元格时,我想获取单元格所在行的DataItem(我目前可以使用该grid_change方法执行),以及选中的列,或者已选择的DataItem.

因此,例如,如果用户单击"Pod"单元格,我想知道它是单击的pod单元格,以及单元格所在行的其他数据.似乎所有数据都在那里所以它不应该是这么困难,但我真的很难找到完成这个所需的数据.

谢谢你的帮助!

telerik kendo-ui kendo-grid

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

获取lightbox 2在Angular 2中工作?

我无法让Lightbox 2在Angular 2中工作.我按照文档中的描述进行设置,但我总是得到错误"Uncaught TypeError:this.$ lightbox.css(...).fadeIn不是函数".我找不到任何示例代码来实现这一点.

lightbox2 angular

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

Angular 7:没有编译错误,但黑屏

我已经在 Angular 应用程序上工作了几个月,最近我开始看到应用程序编译没有错误的情况,但是当它在 Chrome 中重新加载时,只有一个空白屏幕。此外,控制台中没有错误。当我查看标记时,我可以看到我的根组件的标签,但没有其他内容呈现。我相当肯定我不应该看到根组件的标签,而应该看到呈现的 HTML,对吗?所以它加载 index.html,然后胡说八道,没有任何迹象表明问题可能是什么。我一直试图将我的组件移出 app.module 并移入功能模块以进行清理,但是当我撤消这些更改时,我仍然无法加载应用程序。我试过停止并重新启动实时开发服务器,但仍然没有乐趣。

我会在这里发布代码,但是这个应用程序中有大量代码,我不知道问题出在哪里。为什么 Angular 会拒绝在没有任何编译或控制台错误的情况下渲染,或者我可以做些什么来解决这个问题?如果有人知道我可以从哪里开始寻找,我很乐意发布代码。

仅供参考,我使用的是 Angular CLI 7.2.3、Angular 7.2.2。我正在使用 Windows 10 机器上的最新更新在 Visual Studio Code 中进行开发。我还应该说,这种情况在开发过程中发生过几次,但我总是能够找出导致问题的原因。

javascript debugging angular

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

jquery-bootgrid:在格式化程序中获取单元格数据?

我只是尝试了bootgrid它看起来非常好,但文档中有很多漏洞,很难弄清楚如何做一些事情.具体来说,我试图在bootgrid初始化中使用moment.js简单地格式化日期.我可以看到你如何使用格式化程序设置单元格的内容,但你的例子只使用row.id和column.id.我需要得到单元格的实际内容,日期,所以我可以格式化它并将其返回到单元格.是否有一个参数可以传递给格式化程序函数的单元格内容?

另外,我想弄清楚"数据类型"的可能值是什么?我只在示例中看到'numeric',还有其他类型(可能是日期类型)吗?

最后,我手动将数据附加到bootgrid,因为我的服务调用使用'GET'方法,而不是'POST'方法.看起来bootgrid只会使用'POST'方法执行ajax请求,这是正确的吗?有没有办法将其设置为另一个http方法?

谢谢你的帮助!

jquery twitter-bootstrap-3

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

Bootstrap 4 Carousel在Angular 2中工作?错误:类型“ JQuery”上不存在属性“轮播”

我试图在我的Angular 2应用程序中使用Bootstrap 4轮播。具体来说,我正在尝试复制此处完成的全角效果。我到达必须将元素连接到轮播的最后一点:

$('.carousel').carousel({
  interval: 6000,
  pause: "false"
});
Run Code Online (Sandbox Code Playgroud)

尝试编译时,出现以下错误:

错误:类型“ JQuery”上不存在属性“轮播”

我知道有ng-bootstrap组件,但是我无法以这种方式使转盘完全变宽。

这是我的代码(Typescript,CSS,HTML):

import { Component, OnInit } from '@angular/core';
import * as $ from 'jquery';

@Component({
  selector: 'app-home-carousel',
  templateUrl: './home-carousel.component.html',
  styleUrls: ['./home-carousel.component.css']
})
export class HomeCarouselComponent implements OnInit {

  constructor() { }

  ngOnInit() {
  }

  setupCarousel(): void {
    var $item = $('.carousel .item'); 
    var $wHeight = $(window).height();
    $item.eq(0).addClass('active');
    $item.height('400px'); 
    $item.addClass('full-screen');

    $('.carousel img').each(function() {
      var $src = $(this).attr('src');
      var $color = $(this).attr('data-color');
      $(this).parent().css({
        'background-image' : …
Run Code Online (Sandbox Code Playgroud)

carousel bootstrap-4 angular

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