我有一个像下面这样的span标签,它在单击时调用控制器中的一个功能.
HTML
<div class="row" ng-repeat="event in events">
<div class="col-lg-1 text-center">
<span class="glyphicon glyphicon-trash" data={{event.id}} ng-click="deleteEvent()">
</span>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
调节器
$scope.deleteEvent=function(){
console.log(this);
}
Run Code Online (Sandbox Code Playgroud)
我需要在控制器函数中获取data属性中的值.我尝试过使用这个关键字和$ event; 没人工作.
请帮忙.
我正试图让OData端点启动并正常工作,我遇到了这个错误,即使谷歌也没什么可说的.
我已经创建了一个Entity Framework EDMX上下文(数据库优先),让设计者从中生成2个模型.
除了$filter查询失败之外,一切正常.
我可以做得很好:
http://localhost:27164/Projects(6587660)
Run Code Online (Sandbox Code Playgroud)
它检索主ID为6587660的Project.
但任何$filter要求如下:
http://localhost:27164/Projects?$filter=ProjectID eq 6587660
Run Code Online (Sandbox Code Playgroud)
将失败并出现以下错误:
URI中指定的查询无效.属性"ProjectID"不能在$ filter查询选项中使用.
我也尝试过查询其他属性,字符串属性.同样的错误.
我已经检查过EF生成的模型在属性上没有任何属性,但它们没有.
这是我在WebApiConfig.cs模块中的Register方法:
using System.Web.OData.Builder;
using System.Web.OData.Extensions;
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Configure Web API to use only bearer token authentication.
config.SuppressDefaultHostAuthentication();
config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));
ODataModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet<DB.Project>("Projects");
config.MapODataServiceRoute(
routeName: "ODataRoute",
routePrefix: null,
model: builder.GetEdmModel()
);
}
Run Code Online (Sandbox Code Playgroud)
这是Projects控制器(GetProjects是进行$ filter查询时的被调用方法):
public class ProjectsController : ODataController
{
private AppContext db = new AppContext(); …Run Code Online (Sandbox Code Playgroud) 我正在使用Xcode 8.0和Swift3的项目.
我想使用Memory Graph Debugger,但它没有显示任何内容:
预期外观(来自教程):
为什么我不能使用此功能?
该项目是使用Xcode 8创建的(不是从旧版本的Xcode迁移而来).
bitcode与此问题有关吗?
我正在尝试使用带有"Debug"配置的Memory Graph,并启用"Debug"上的bitcode(YES).
我已经创建了一个WebApi 2.2项目(来自一个空的新ASP.NET项目)来证明一些实现概念,我现在想要为它添加身份验证.
我注意到在新的WebApi应用程序上添加身份验证的唯一方法是使用其中一个(VS 2013,在我的情况下)模板.
是否有一种确定的方法可以将身份验证添加到现有的WebApi 2.2应用程序中?
我只想使用持票人代币,如果这对我可能收到的任何答案产生影响.
c# asp.net authentication restful-authentication asp.net-web-api
我遵循Mike Wasson的这个asp.net教程,设法建立相关实体就好了,但是当我将这个逻辑应用到我的项目时,更复杂的实体关系(其中有更多的实体关系;这是唯一的区别)在OData调用中不会成功,我使用此有效负载得到404:
{
"error": {
"code": "",
"message": "No HTTP resource was found that matches the request URI 'http://localhost:19215/Menus(c94f7f98-6987-e411-8119-984be10349a2)/MenuPermissions'.",
"innererror": {
"message": "No routing convention was found to select an action for the OData path with template '~/entityset/key/unresolved'.",
"type": "",
"stacktrace": ""
}
}
}
Run Code Online (Sandbox Code Playgroud)
该教程没有提到必须设置EdmModel导航,Mike Wasson指出"asp.net是官方文档:-)"; 所以,我花了一些时间试图让这些相关的实体工作,以为我错误地设置了项目.
我认为这可能与NuGet正在安装的ASP.NET OData库版本有关(NuGet Console安装6.9.x,而NuGet Dialog安装6.5.x).我也想知道是不是因为我将项目设置为一个完全空的项目然后使用OWIN,所以我尝试使用纯ASP.NET模板解决方案.我还尝试了其他几种可能的解决方案:我的控制器方法上的OData-route-attributes; 并将我的数据层和模型都包含在同一个库中(我将它们分开以保持DRY); 我甚至试图使用Rick Anderson的WebApi路由调试器 - 我不会再尝试使用它了!
一切都无济于事.
有一段时间他们工作,但我不知道为什么; 他们不再在下一次建造/运行中工作 - 我想我之间改变了一些东西,但它非常小,我在每一步都失去了信心.
然后我决定Mike Wasson必须在他的教程中采取阻力最小的路径,所以我回复到这个问题/答案,并将其修改为与ODataConventionModelBuilder一起使用并重用,我将在下面的答案中解释.
如果有人知道更简单的方法让这个工作,请告诉我,否则我建议只是咬紧牙关并在下面的答案中写下这些EdmModel-Navigations.
我决定将一些重写规则移到web.release.config和web.staging.config文件中,以保持重写规则与我们运行不同配置的环境相关.
IntelliSense不喜欢这个决定,也不会打球,因为:
xdt:转换"属性未声明"
对于<rewrite>元素.
我在这里查看了RuslanY的解决方案,我在这个网站上考虑了几个解决方案,但是他们都没有在使用.NET v4.5的VS 2013中为这个特定问题提供解决方案.我还在这里研究了这篇旧的MSDN帖子,并确保Web.config,Web.Staging.config和Web.Release.config的Schemas属性指向正确的转换模式版本.
似乎唯一的解决方案是编辑DotNetConfig [v] .xsd文件并添加
<xs:anyAttribute namespace="http://schemas.microsoft.com/XML-Document-Transform" processContents="strict"/>
Run Code Online (Sandbox Code Playgroud)
<xs:complexType>在每个<xs:element name="rewrite">元素(和<xs:element name="rewrite">标记本身)中的每个元素的末尾,使它们与具有良好IntelliSense的其他元素一致.
在这种情况下,这是正确的解决方案(因为这些条目尚未存在似乎很奇怪)?有没有更好的方法将这些条目添加到xsd文件中,以便它们不会在VS更新中丢失(因此它们将更容易应用于VS安装)?
或者我应该部署另一种解决方案吗?
xsd web-config web-config-transform .net-4.5 visual-studio-2013
如何为这种类型设置流畅的映射?
public class Topic
{
public int Id { get; set; }
public string Title { get; set; }
public virtual ICollection<Topic> Children { get; set; }
public int ParentId { get; set; }
public Topic Parent { get; set; }
public virtual ICollection<Topic> Related { get; set; }
}
Run Code Online (Sandbox Code Playgroud)