小编VSO*_*VSO的帖子

从DateTimeOffset中删除时区偏移量

DateTimeOffset testDateAndTime =
    new DateTimeOffset(2008, 5, 1, 8, 6, 32, new TimeSpan(1, 0, 0));

//CLEAN TIME AND DATE 
testDateAndTime = testDateAndTime.DateTime.Date; 

var datesTableEntry = db.DatesTable.First(dt => dt.Id == someTestId);
datesTableEntry.test= testDateAndTime;

db.SaveChangesAsync(); 
Run Code Online (Sandbox Code Playgroud)

结果数据库: 2008-05-01 00:00:00.0000000 -04:00

如何(在保存之前从代码中-4:00转换+00:00)?

我试过了:

public Task<DateTimeOffset> SetTimeZoneOffsetToZero(DateTimeOffset dateTimeOffSetObj)
{
    TimeSpan zeroOffsetTimeSpan = new TimeSpan(0, 0, 0, 0, 0);
    return dateTimeOffSetObj.ToOffset(zeroOffsetTimeSpan);
}
Run Code Online (Sandbox Code Playgroud)

它没有做任何事情.

最终目标只是拥有一个没有时间或时区偏移的日期.我不想将时间转换为另一个时区(即我不希望它从testDateAndTime时间减去4小时并删除设置时间偏移00:00:00.0000000,我只是想将它设置为偏移+00:00).我想要当前日期,零偏移.

编辑:

以下是其他地方的建议:

DateTimeOffset testDateAndTime =
    new DateTimeOffset(2008, 5, 1, 8, 6, 32, new …
Run Code Online (Sandbox Code Playgroud)

c# timezone datetimeoffset

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

Get-ChildItem不适用于Include

在此输入图像描述

我正在遵循以下示例:

Get-ChildItem c:\scripts\*.* -include *.txt,*.log
Run Code Online (Sandbox Code Playgroud)

https://technet.microsoft.com/en-us/library/ee176841.aspx

是什么赋予了?当我尝试使用include时,为什么不取回我的test.txt文件列表?

作为旁注,是什么c:\scripts\*.*.它似乎在说包含任何具有任何格式名称的文件.但是不包含在指定中吗?无论如何,更感兴趣的是为什么我看似基本的代码不起作用.

powershell

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

角度2视图子/元素参考选择相同的元素两次

首先,让我先说我已经阅读了文档,一些文章,ng-book章等等.我仍然没有很好地理解这些东西是如何工作的.

话虽如此,请考虑以下事项:

import { Component, ViewChild, ElementRef } from '@angular/core'

@Component({
  selector: 'home',
  template: `
    <div>Test</div>
    <input type="text"#testElem>
    <input type="text"#testElem2>
  `
})


export class HomeComponent{

  @ViewChild('testElem') el:ElementRef;
  @ViewChild('testElem2') el2:ElementRef;

  ngAfterViewInit() {
    this.el.nativeElement.style.background = "red";
    this.el.nativeElement.style.background = "blue";
  }

}
Run Code Online (Sandbox Code Playgroud)

Plunker

为什么我的第一个元素变成蓝色而第二个元素根本没有变色?

viewchild angular

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

以编程方式更新Angular 2字段

我有以下表单字段,工作正常.通过这种方式,我的意思是当我在字段中键入,粘贴等时fooObj.expDate,实时更新得很好并且验证发生.我有预标签,这对我自己来说很明显.

  <pre>{{fooObj.someDate | json}}</pre>

  <div class="form-group inline-form__input">
    <label for="someDate">Some Date</label>
    <input tabindex="2"
           type="tel"
           class="form-control"
           maxlength="7"
           placeholder="MM/YY"
           formControlName="someDate"
           name="someDate"
           [(ngModel)]="fooObj.someDate"
           someDate>
  </div>
Run Code Online (Sandbox Code Playgroud)

但是,我someDate在这个领域有这个指令.该指令拦截粘贴事件.它取消了粘贴事件,对输入进行了一些奇特的格式化,然后执行此操作:

setTimeout(() => {
  this.target.value = 'lol fancy date';
}, 3000);
Run Code Online (Sandbox Code Playgroud)

target.value是我的someDate领域.值在输入框内得到了很好的更新(我看到它在输入内的屏幕上发生了变化).但是,fooObj.someDate未更新并且不会进行验证.例如,在超时中设置目标值不会触发与键入/粘贴/任何其他javascript事件相同的验证/对象更新.

Angular docs对此没什么用处:

只有当应用程序响应异步事件(例如击键)时,Angular才会更新绑定(以及屏幕).此示例代码将keyup事件绑定到数字0,可能是最短的模板语句.虽然该语句没有任何用处,但它满足Angular的要求,因此Angular将更新屏幕.

那么,如何从该字段的指令触发字段更新?

编辑:我尝试使用我元素中的代码触发注释中建议的元素上的事件:如何手动触发onchange事件?

运行正常,但不强制该字段更新:

  if ("createEvent" in document) {
    var evt = document.createEvent("HTMLEvents");
    evt.initEvent("change", false, true);
    this.target.dispatchEvent(evt);
  }
  else
    this.target.fireEvent("onchange");
Run Code Online (Sandbox Code Playgroud)

此外,这里是我得到合成事件的想法,不会触发"正常"的行为作为一个keyDown或任何会(我真的希望我误读或他们错误的这个用例,但它不适用于尝试重新发布粘贴事件):https://www.w3.org/TR/clipboard-apis/#clipboard-event-interfaces

注意:合成事件没有默认操作.换句话说,虽然上面的脚本将触发粘贴事件,但数据实际上不会粘贴到文档中.

javascript angular

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

每个视图的角度2旋转变压器

所以我的应用程序基于角度2(角度cli)和一些CMS.页面的某些片段从CMS下载并显示在角度2页面上.主要问题是页眉和页脚来自CMS.所以我想知道如何添加全局解析器(全局非常重要,我不想为应用程序中的每个路径路径添加解析器),这将强制角度等待CMS返回页眉和页脚.我已经成功使用解析器通过实现路由接口等待某些路由上的某些数据

export class InboxResolver implements Resolve<MessageListItem[]>
Run Code Online (Sandbox Code Playgroud)

我在一些自定义路线中使用它:

const MessagesRoutes: Routes = [
 {
    path: 'inbox',
    component: InboxComponent,
    resolve: { messages: InboxResolver }
 }
];
Run Code Online (Sandbox Code Playgroud)

但是如何在一个地方定义一个全局HeaderAndFooterResolver?

resolver content-management-system angular-cli angular

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

如何设置元素的物理尺寸(如实际英寸)?

我的最终目标是在每个屏幕上显示完全相同大小的图像(是的,我确实需要这个)。

我开始阅读有关如何获取用户屏幕尺寸的文章- 答案似乎是不可能的(不调用尝试根据某些参数猜测实际设备的 API)。

然后我想起 css 有用于调整元素大小的物理尺寸单位,并决定在我的屏幕上进行测试。我这样设置尺寸:

<div style = "background-color:black; height: 5in; width: 3in;"></div>
Run Code Online (Sandbox Code Playgroud)

然后将一张 3 英寸 x 5 英寸(7.6 厘米 x 12.7 厘米)的物理抽认卡放在屏幕上。

它的尺寸明显偏小。

有趣的是 - 以毫米为单位设置尺寸是荒谬的 - 我期望得到与英寸相同的结果。

话虽如此,有没有办法做我需要的事情?

html css screen

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

如何从Powershell运行Powershell x86?

我读到了这个答案:如何从Powershell打开Powershell

start powershell
Run Code Online (Sandbox Code Playgroud)

这将打开基本的大分辨率PS实例.我如何打开PS(x86)?

powershell

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

.NET Core <select>具有默认值?

我的目标是生成一个预先选定<select>的某个选择值(<option>)的下拉列表,因此最终的HTML应该如下所示:

<select>
  <option value = "1">Option1</option>
  <option value = "2" selected>Option2</option>
  <option value = "3">Option3</option>
</select>
Run Code Online (Sandbox Code Playgroud)

请注意,值为2的选项具有一个selected属性,表示它将在单击下拉列表之前显示.我不能(并且我想尝试)使用.NET Core Tag Helpers实现这一目标.

这是我的模型(我认为你可以安全地忽略细节):

public class ReportViewModel
{
  [Display(Name = "Pick a form")]
  public IEnumerable<Form> AvailableForms { get; set; }

  public Form SelectedForm { get; set; }

  public List<ReportData> FormResponses { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

需要注意的是Form对象那里只是有IdName它的属性.

这是我的选择声明:

<label asp-for="SelectedForm.Name" class="form-control-label font-weight-bold"></label>
<select asp-for="SelectedForm.Name"
        class="form-control"
        onchange ="onFormSelected(this.value)"
        asp-items="@(new …
Run Code Online (Sandbox Code Playgroud)

c# razorengine asp.net-core asp.net-core-tag-helpers

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

在连接到 Postgres 方面,Node 比 .NET Core 快 20 倍

我有两台服务器连接到PostgresSQL 9.6Azure 上托管的数据库。服务器正在做一件事 -SELECT 1每 5 秒通过查询访问Postgres 数据库。

连接到数据库并获取数据的典型时间:

  • 节点: 25 MS
  • .NET Core 3.1 使用 Npsql 4.1.1(我也尝试过 4.1.2,没有差异): 500 MS

我的问题是我的 .NET Core 应用程序在获取数据方面比 Node慢 20 倍。我相信.NET Core 由于某种原因没有汇集连接。这种缓慢发生在本地运行应用程序和在 Azure 应用程序服务上运行它时 - 没有区别。我想解决 .NET --> Postgres 缓慢的问题。

请只浏览相关细节,不要在这一点上阅读整个内容 - 我相信只有.NET Core代码是相关的。

APsPing到我的机器上的数据库(应用程序Node.NET Core应用程序都在其上运行:

Connecting to foobarPostGres:5432 (warmup): from someIp: 19.98ms
Connecting to foobarPostGres:5432: from someIp: 1.65ms
Connecting to foobarPostGres:5432 from …
Run Code Online (Sandbox Code Playgroud)

c# postgresql azure npgsql azure-postgresql

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

谷歌地图标记不在"取消群集"

我正在使用Angular 4,Google Maps v3和标记Clusterer v2- 所以,基本上是每个相应库的最新版本.我正在尝试按照官方Google地图文档中的一个简单示例(https://developers.google.com/maps/documentation/javascript/marker-clustering)来制作我的标记群集和非群集.

初始化地图,这里没什么特别的:

public ngOnInit(): void {
  var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 7,
    center: {lat: 41.85, lng: -87.65}
  });
  this.generateMockPinResultsResponse(10000, map);
}
Run Code Online (Sandbox Code Playgroud)

在init上调用此函数只会生成一堆示例引脚:

  public generateMockPinResultsResponse(nMarkers, map): void {
    let component = this;
    var markers = [];
    for (var i = 0; i<nMarkers; i++){
      let latitude: number = this.getRandomUsLat();
      let longitude: number = this.getRandomUsLng();
      var marker = new google.maps.Marker({
        position: { lat: latitude, lng: longitude },
        map: …
Run Code Online (Sandbox Code Playgroud)

google-maps google-maps-api-3 markerclusterer typescript angular

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