我在Angular 2的下拉列表中预先选择值时遇到了问题.
我在组件中设置了一组颜色,我成功绑定到下拉列表.我遇到的问题是在页面init上预先选择一个值.
该行[selected]="car.color.id == x.id"应选择已在汽车模型上设置的值,this.car.color = new Colour(-1,'');但这仅在我将汽车颜色ID设置为列表中的最后一项(在本例中为黑色)时才有效this.car.color = new Colour(4,'');
我使用的是最新版本的Angular(rc3),并且在rc1和rc2中遇到过相同的问题.
这是一个显示问题的掠夺者.
https://plnkr.co/edit/yIVEeLK7PUY4VQFrR48g?p=preview
另一个奇怪的方面是,在查看元数据时,Angular已将所选值设置为true.
但下拉仍然显得空洞.
这些相关问题似乎是一个单独的问题.
如何在Angular2中的对象数组上使用select/option/NgFor
问候
史蒂夫
组件模板
<div>
<label>Colour</label>
<div>
<select [(ngModel)]="car.colour"">
<option *ngFor="let x of colours" [value]="x.id" [selected]="car.color.id == x.id">{{x.name}}</option>
</select>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
零件
import { Component, OnInit } from '@angular/core';
import {AbstractControl,FORM_DIRECTIVES } from '@angular/common';
@Component({
selector:'dropdown',
templateUrl:'app/components/dropdown/dropdown.component.html',
directives:[FORM_DIRECTIVES]
})
export class DropdownComponent implements OnInit
{
car:Car = new Car();
colours = Array<Colour>();
ngOnInit(): …Run Code Online (Sandbox Code Playgroud) 我试图得到一个组,然后按计数顺序工作,但我不断被抛出'Antlr.Runtime.NoViableAltException'.
这是我可以创建的最简单的错误案例.
var results = ArticleStatsRepository.GetAll().GroupBy(x => x.Article.ArticleId)
.OrderBy(x => x.Count());
Run Code Online (Sandbox Code Playgroud)
ArticleStatsRepository.GetAll()返回ArticleStats的IQueryable.
public class ArticleStats
{
public virtual int ArticleStatsId { get; set; }
public virtual Article Article { get; set; }
public virtual User Viewer { get; set; }
public virtual ArticleStatTypeEN ArticleStatType { get; set; }
public virtual DateTime DateTime { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
最终我想要执行以下查询.
return ArticleStatsRepository.GetAll()
.Where(x => x.DateTime > DateTime.Now.Add(-timeSpan))
.Where(x => x.ArticleStatType == ArticleStatTypeEN.View)
.GroupBy(x => x.Article.ArticleId)
.Select(x => new { ArticleId = x.Key, …Run Code Online (Sandbox Code Playgroud) 尝试使用最新的RC angualr 2(2.0.0-rc.1)和NPM无法下载以下依赖项"@ angular/compiler":"2.0.0-rc.1",NPM显示404错误.
npm http 404 https://registry.npmjs.org/angular/compiler
npm ERR! 404 Not Found
Run Code Online (Sandbox Code Playgroud)
看起来类似于以下问题,但我正在使用教程中指定的新@scope.我的完整package.json如下.
{
"dependencies": {
"@angular/common": "2.0.0-rc.1",
"@angular/compiler": "2.0.0-rc.1",
"@angular/core": "2.0.0-rc.1",
"@angular/http": "2.0.0-rc.1",
"@angular/platform-browser": "2.0.0-rc.1",
"@angular/platform-browser-dynamic": "2.0.0-rc.1",
"@angular/router": "2.0.0-rc.1",
"@angular/router-deprecated": "2.0.0-rc.1",
"@angular/upgrade": "2.0.0-rc.1",
"reflect-metadata": "0.1.3",
"rxjs": "5.0.0-beta.6",
"zone.js": "0.6.12",
"angular2-in-memory-web-api": "0.0.7",
"bootstrap": "^3.3.6"
},
"devDependencies": {
"concurrently": "^2.0.0",
"lite-server": "^2.2.0"
}
}
Run Code Online (Sandbox Code Playgroud) 我正在编写一种从数据库中返回"资产"行的方法.它包含字符串,整数和字节数组(可以是图像/电影/文档).
现在对于大多数行访问,我使用以下方法返回NameValueCollection,因为它是一个轻量级对象,易于使用和转换int和字符串.
public static NameValueCollection ReturnNameValueCollection(Database db, DbCommand dbCommand)
{
var nvc = new NameValueCollection();
using (IDataReader dr = db.ExecuteReader(dbCommand))
{
if (dr != null)
{
while (dr.Read())
{
for (int count = 0; count < dr.FieldCount; count++)
{
nvc[dr.GetName(count)] = dr.GetValue(count).ToString();
}
}
}
}
dbCommand.Dispose();
return nvc.Count != 0 ? nvc : null;
}
Run Code Online (Sandbox Code Playgroud)
现在我对这种数据访问的apporach通常是获得一个返回数据流的方法.
public static DataRow ReturnDataRow(Database db, DbCommand dbCommand)
{
var dt = new DataTable();
using (IDataReader dr = db.ExecuteReader(dbCommand))
if (dr != null) dt.Load(dr); …Run Code Online (Sandbox Code Playgroud) 当用户在某些情况下注销时,我想在注销页面上向他们显示一条消息。为了启用此功能,我希望能够在注销时将可选参数从客户端发送到身份服务器/权限站点。
虽然我有标准的注销流程,但我在处理这种情况时遇到了困难,因为信息似乎很薄弱,并且建议的解决方案不起作用。
据我所知,“state”参数是传递此信息的正确方法,但目前尚未通过。AcrValues 仅用于以其他方式发送信息。
我下面的简单实现只是将状态查询字符串项添加到结束会话端点。但是,当我检查客户端用于访问身份服务器实例的查询字符串时,它丢失了。
重定向(discoveryResponse.EndSessionEndpoint+“&state=foo”)
很高兴收到任何帮助!
MVC 客户端的当前流程:
请注意; 为了简洁起见,一些代码已被删除。
从客户端控制器使用 state=foo 发起注销:
public class LogoutController : Controller
{
public ActionResult Index()
{
Request.GetOwinContext().Authentication.SignOut();
var discoveryClient = new DiscoveryClient(clientConfig.Authority) { Policy = {RequireHttps = false} };
var discoveryResponse = discoveryClient.GetAsync().Result;
var tokenClaim = ((ClaimsIdentity)User.Identity).FindFirst("id_token");
return Redirect(discoveryResponse.EndSessionEndpoint+ "?id_token_hint="+ tokenClaim + "&state=foo");
}
}
Run Code Online (Sandbox Code Playgroud)
请求时调用 RedirectToIdentityProvider:
IdTokenHint 和 PostLogoutRedirectUri 已正确设置和传递。
app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
{
Notifications = new OpenIdConnectAuthenticationNotifications
{
RedirectToIdentityProvider = n =>
{
if (n.ProtocolMessage.RequestType != OpenIdConnectRequestType.LogoutRequest)
return Task.FromResult(0);
var idTokenHint …Run Code Online (Sandbox Code Playgroud) c# authentication asp.net-mvc openid-connect identityserver4
我正在尝试为 Azure DevOps YAML 管道中的 NuGet 包生成名称。
上下文正在每个自动构建上创建包,其中包含包的名称、分支的名称、日期和递增的修订号。
packageName-branchName-year-month-day-revision
这样,当创建新的功能分支时,它将生成一个独特的包,可用于在需要它的项目中进行测试。
我正在努力根据环境变量(例如日期或修订号)在 YAML 文件中设置变量。
使用 ##vso 命令,我可以将“myVariable”设置为 hello 并将其打印出来。
- script: |
echo '##vso[task.setvariable variable=myVariable]hello'
- script: |
echo my variable is $(myVariable)
Run Code Online (Sandbox Code Playgroud)
当我尝试如下从 PowerShell 设置变量时,出现以下错误“#$dateStr”未被识别为内部或外部命令”。
# Create a variable
- script: |
#$dateStr = (Get-Date).ToString('yyyy-MM-dd')
echo '##vso[task.setvariable variable=myVariable]#$dateStr'
# Print the variable
- script: |
echo my variable is $(myVariable)
Run Code Online (Sandbox Code Playgroud)
当我尝试在 YAML 文件的变量部分中设置变量时,如下所示。
variables:
solution: '**/*.sln'
foo: $(Date:yyyyMMdd)
- script: |
echo my variable is $(foo)
Run Code Online (Sandbox Code Playgroud)
该变量未进行插值,其输出为。
'我的变量是 $(Date:yyyyMMdd)'
如何根据 …
我刚刚看到NHibernate 3.3已经出来了,我已经尝试在一个新项目中实现它.
与版本3.2非常相似我遇到了使用Fluent NHibernate的问题,我添加了版本Fluent NHibernate 1.3版并且收到以下错误消息.
Could not load file or assembly 'NHibernate, Version=3.2.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.
Run Code Online (Sandbox Code Playgroud)
我可以使用最新版本的NHibernate安全地运行吗?我知道以前构建针对NHibernate的FluentNHibernate源代码可以正常工作.这是推荐还是在3.3中有足够的变化来解决问题?
我检查了Fluent NHibernate网站,我看不到最近的活动.有谁知道詹姆斯是否打算继续支持Fluent我知道他有些疑惑.
http://lostechies.com/jamesgregory/2011/04/13/me-on-nhibernate-3-2/
真的希望支持继续,因为NHibernate的代码映射感觉并不直观,并且仍然没有太多的信息.
干杯
史蒂夫
我正在尝试返回对象的引用,而不是按值传递它.这是由于无法通过引用传递属性.
我怎样才能得到下面的代码来写'新号牌'而不是'旧号牌'.看了一下后,好像我不能.只是想先确定一下.看起来很奇怪你不能.
干杯
史蒂夫
http://hardcode.ro/archive/2008/03/18/c-return-reference-types.aspx
http://geekswithblogs.net/akraus1/archive/2006/02/10/69047.aspx
public partial class Test2 : DefaultPage
{
protected void Page_Load(object sender, EventArgs e)
{
var car = new Car();
var numberPlate = car.GetNumberPlate();
numberPlate = "new number plate";
Response.Write(car.GetNumberPlate());
}
}
}
public class Car
{
private string _numberPlate;
public Car()
{
_numberPlate="old number plate";
}
public string NumberPlate
{
get { return _numberPlate; }
set { _numberPlate = value;}
}
public string GetNumberPlate()
{
return _numberPlate;
}
}
Run Code Online (Sandbox Code Playgroud) c# ×4
angular ×2
nhibernate ×2
asp.net ×1
asp.net-mvc ×1
azure-devops ×1
data-access ×1
dependencies ×1
devops ×1
group-by ×1
linq ×1
npm ×1
optimization ×1
orm ×1
sql-order-by ×1
typescript ×1
yaml ×1