升级到RC5后,我们开始收到此错误:
ngModel cannot be used to register form controls with a parent formGroup directive. Try using
formGroup's partner directive "formControlName" instead. Example:
<div [formGroup]="myGroup">
<input formControlName="firstName">
</div>
In your class:
this.myGroup = new FormGroup({
firstName: new FormControl()
});
Or, if you'd like to avoid registering this form control, indicate that it's standalone in ngModelOptions:
Example:
<div [formGroup]="myGroup">
<input formControlName="firstName">
<input [(ngModel)]="showMoreControls" [ngModelOptions]="{standalone: true}">
</div>
Run Code Online (Sandbox Code Playgroud)
看起来在RC5中两者不能再一起使用,但我找不到替代解决方案.
以下是产生异常的组件:
<select class="field form-control" [formGroup]="form" [(ngModel)]="cause.id" [name]="name">
<option *ngFor="let c of causes" [value]="c.text">{{c.text}}</option>
</select>
Run Code Online (Sandbox Code Playgroud) 我想在SharePoint 2013服务器场解决方案中使用ASP.NET WebApi.
我知道它不支持开箱即用,但我发现 SignalR可以通过简单的HttpModule运行,所以我想知道是否可以使用类似的appoach.
提前谢谢,Rich
2013年6月更新
通过重新处理上述帖子中显示的HTTP模块使其工作:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "kms2013/api/{controller}/{action}",
defaults: new { }
);
config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
config.Services.Replace(typeof(IAssembliesResolver), new SPAssemblyResolver());
HostingEnvironment.RegisterVirtualPathProvider(new WebAPIVirtualPathProvider());
Run Code Online (Sandbox Code Playgroud)
SPAssemblyResolver
public class SPAssemblyResolver : IAssembliesResolver
{
public ICollection<Assembly> GetAssemblies()
{
return new List<Assembly> { Assembly.GetExecutingAssembly() };
}
}
Run Code Online (Sandbox Code Playgroud)
WebAPIVirtualPathProvider
与帖子中显示的SignalRVirtualPathProvider相同.
新问题
这种方法的唯一问题是ScriptResource.axd和WebResource.axd现在在SP在页面中引用它们时中断.我试图添加一个忽略路线:
RouteTable.Routes.Add(new Route("{resource}.axd", new StopRoutingHandler()));
Run Code Online (Sandbox Code Playgroud)
但我一直得到401 Unauthorized.删除模块会清除错误,所以我猜我们仍然缺少最后一块拼图.