我想从使用API控制器和AngularJS的MVC4应用程序开始.但我不确定如何构建我的应用程序.
假设我从一个controller
被调用的法线开始UserController
.该控制器具有Index
动作并返回(剃刀)视图.
在那个视图中,我将做一些HTML和AngularJS的事情.角度代码将返回调用API控制器以获取其JSON数据.
但这是困扰我的部分.我已经有一个UserController
返回视图.但是我还需要另一个UserController
(扩展ApiController
)来返回JSON数据,对吗?
所以我需要一个API控制器来GET
用户数据和PUT
用户数据等.所以这个逻辑名UserController
也是如此.
但显然我不能有两个同名的控制器.那么这是如何工作的呢?我应该如何命名/构建我的MVC应用程序?
我有一个div
与ngStyle
属性.最初div
看起来很好.但是当我更新属性中使用的ngStyle
属性时,style
标记不会更新.所以变化没有反映到div
.
这是我的意思的一个例子:http://plnkr.co/edit/YQIxJYEFWwbxiXr4HBwY?p = preview
最初div
是绿色.当您单击其下方的按钮时,您可以看到该ngStyle
属性已使用#ff0000
(红色)颜色更新.但该style
属性不会更新.
有没有办法强制角度style
再次更新属性?
请注意:在我的真实场景中,div有更多style
属性.并且div
还有一个<p>
具有样式属性等的标签.
我不想改变ngStyle
现在的样子.我想知道在使用此方法时是否可以强制更新样式属性.
我有一个类,它应该充当实体类(如 DDD 中)。它基本上看起来像这样:
public class Page
{
protected String Name;
protected String Description;
protected Dictionary<int, IField> Fields = new Dictionary<int, IField>();
protected Page SetName(String name)
{
this.Name = name;
return this;
}
protected Page SetDescription(String description)
{
this.Description = description;
return this;
}
public Page AddField(IField field)
{
this.Fields.add(xxx, Field); //xxx = just some id
return this;
}
}
Run Code Online (Sandbox Code Playgroud)
现在我的问题是,这是一个有效的实体类吗?
我需要保持方法链接,所以请不要对此进行太多详细说明(即使您认为这是错误的)。
我主要关心的是,实体类是否可以包含方法,例如 getter 和 setter?尤其是像AddField
?这样的方法
该AddField
方法采用 类型的对象IField
。我将其存储在班级内的字典中Page
。那么这就是一个总和,对吗?
这不会改变实体的状态,使其不是真正的实体类吗?
还是就这样就可以了?
我有一个PHP应用程序,它使用Github API来检查用户的本地系统是否与Github上的最新版本保持同步.
默认情况下,您每小时只能查询API 60次.但是,当我首先进行身份验证时,我可以增加此值 但是,您也可以在不进行身份验证的情况下提高速率限制.这就是我想要的.
我发现的例子说我只需通过CUrl
以下方式调用此URL :
https://api.github.com/users/whatever?client_id=xxxxxxxxxxxxxx&client_secret=yyyyyyyyyyyyyyyyyyyyy
Run Code Online (Sandbox Code Playgroud)
不知道这是否会工作,也不知道他们的意思是用什么在URL中.
无论如何,这应该是提高速率限制的技巧.但他们也说了以下几点:
此方法仅应用于服务器到服务器调用.您永远不应 与任何人共享您的客户机密,或将其包含在客户端浏览器代码中.
由于我的应用程序是一个"开源"PHP应用程序,那基本上意味着我将与使用我的应用程序的其他人共享我的密钥...
有没有其他方法来提高速率限制,而不用担心我与他人共享敏感数据?
我有一个Linq查询,我从中获取数据,如下所示:
var attachedItems = items.ToDictionary(
w => w.Number,
w => w.Attachments.Select(a => a.Name).ToArray()
);
Run Code Online (Sandbox Code Playgroud)
这到目前为止工作正常,但有时Attachments.Name
属性是空的.然后我想得到另一个属性的价值.
为了显示:
var attachedItems = items.ToDictionary(
w => w.Number,
w => w.Attachments.Select(a => a.Name).ToArray()
// If Attachments.Name == Empty, then get
w => w.EquipmentCode
);
Run Code Online (Sandbox Code Playgroud)
我如何在Linq查询中执行此操作?
我总是学到关闭HTML标签,如img
,meta
等这样的:
<img src="..." />
<meta charset="..." />
<hr />
<br />
<input type="..." />
Run Code Online (Sandbox Code Playgroud)
但是我看到很多网站都没有把它/>
放在最后.他们只是放在>
最后.结果如下:
<img src="...">
<meta charset="...">
<hr>
<br>
<input type="...">
Run Code Online (Sandbox Code Playgroud)
但对我来说这似乎并不正确......当你这样做时,浏览器如何知道标签是否仍然需要在某个地方关闭?这也是我多年前学到的东西.
但即使Twitter Bootstrap也input
没有结束标签/>
.
这真的是有效的HTML吗?它现在是一种首选方式吗?
我想在我的OpenGL应用程序中全屏显示图像,而不会失去其宽高比。我知道我可以将图像作为纹理绘制到“立方体”或2d平面上。但是当我只想显示2D图像时,我不确定这是否是最好的方法。
尤其是因为我希望此图像全屏显示而不损失其宽高比。我知道使用ImageView很容易。但我的OpenGL ES应用程序中需要此功能。
但是我不知道该怎么做。有人知道吗?
.NET Core中是否有一种方法可以注册通用接口,并使其解析与某个实现相匹配的类.
例如,我有以下界面:
public interface IMapper<TFrom, TTo>
{
}
Run Code Online (Sandbox Code Playgroud)
我还有一个抽象类:
public abstract class Mapper<TFrom, TTo> : IMapper<TFrom, TTo>
{
protected Mapper()
{
// some generic stuff
}
public abstract TTo Map(TFrom);
}
Run Code Online (Sandbox Code Playgroud)
然后我可以创建一个这样的实现:
public class UserMapper : Mapper<Domain.User, Entity.User>
{
public override Entity.User Map(Domain.User from)
{
// do mapping
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法,使用默认的.NET Core DI进行注册IMapper<,>
,让它自动解析类?
所以,例如,如果我在代码中的某个地方执行此操作:
class SomeClass
{
public SomeClass(IMapper<Domain.User, Entity.User> mapper) {}
}
Run Code Online (Sandbox Code Playgroud)
它以某种方式知道它应该解决这个类UserMapper<Domain.User, Entity.User>
?
原因是手动注册每个映射器有点冗长,特定于实现.所以我希望Microsoft.DependencyInjection
能够以某种方式自动解决其实现.
我有一个MVC3项目,在我的Controllers
文件夹中有一个"sub"文件夹.现在我想创建一个路径到该子文件夹内的控制器.但我怎么能这样做?
这对我来说似乎不起作用:
context.MapRoute("Test", "SubFolder/Test",
new { Controller = "SubFolder/Test", Action = "Index" });
Run Code Online (Sandbox Code Playgroud)
所以子文件夹的名称就SubFolder
在那里,我有一个名为的控制器TestController.cs
.我该如何为它创建MapRoute?
我有一个ng-repeat
重复无序列表.该列表中的每个项目都有一个按钮,该按钮调用AngularJS函数将该项目添加到另一个列表.问题是传递给函数的项目是通过引用.这意味着,如果我更新该函数中的属性,那么该对象将在我的站点中的任何位置更新.
我的问题的例子:http: //jsfiddle.net/XyUGE/156/
您会看到左侧列表也已更新.但我只想更新传递给函数的对象!所以,我只想看到第二个列表中的更改.
我该如何解决这个问题?