小编Roy*_*del的帖子

如何中止获取请求?

我一直在使用新的fetch API而不是旧的XMLHttpRequest

它很棒,但我缺少一个关键功能,xhr.abort().

我找不到有关fetch功能的任何信息.

谢谢.

更新:用于中止获取的hacky解决方法https://github.com/Morantron/poor-mans-cancelable-fetch

基本上,您在Web worker中启动提取并取消Web worker以中止提取

javascript ecmascript-6

11
推荐指数
2
解决办法
4359
查看次数

Json.net在MVC4中使用循环引用反序列化json

我试图用圆形引用反序列化对象图,没有运气,

序列化循环引用时Json.net运行良好:向对象添加$ id并用$ ref =*objectId替换对象,当我将相同的数据发送回MVC动作时,它将不会正确反序列化 - 将$ ref替换为空物.

我使用json.net来序列化和反序列化,反序列化是在自定义IValueProvider中实现的 - https://json.codeplex.com/discussions/347099

我注意到反序列化为匿名对象时

JsonConverter.Deserialize(json);
Run Code Online (Sandbox Code Playgroud)

它不会处理循环引用.但是在使用泛型类型进行反序列化时

JsonConverter.Deserialize<EntityType>(json) 
Run Code Online (Sandbox Code Playgroud)

它会正确反序列化.

但我找不到GetValueProvider中的类型(ControllerContext controllerContext)

任何帮助将不胜感激

编辑 - 在我目前的修复中,我将整个json作为字符串传递并使用

JsonConverter.Deserialize<EntityType>(json) 
Run Code Online (Sandbox Code Playgroud)

在控制器的动作中使用正确的类型,但这绝对不是使用json + mvc4的正确方法...我需要一种更好的方法将它集成到mvc中,开始赏金

编辑 - 更多代码类型:

[JsonObject(IsReference = true)]
public class DynamicEntity : EntityWithID<Guid>
{
    ....

    public virtual IList<DynamicEntity> ReferenceFields { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

要反序列化的json是Json.net的Serialize方法的输出.

{"$id":"1","ReferenceFields":[{"$ref":"1"}],"Id":"9f9de7f3-865e-4511-aeac-a2ff01193b06"}
Run Code Online (Sandbox Code Playgroud)

问题是与MVC的集成,因为json在服务器和客户端之间来回传递.我已经有了js方法来改变它来回到相同的格式 - 经过测试,我现在就像这样使用它:

public ActionResult EntitySaveOrUpdate(string entity)
    {
        var entityToSave = JsonConvert.DeserializeObject<DynamicEntity>(entity);
        ...
    }
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我需要与MVC更好的集成,而不是在我的所有行动中反序列化...

c# asp.net-mvc serialization json.net asp.net-mvc-4

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

Angular4表单 - formGroup setValue到具有额外字段的模型

我有一个表单来更新角度4中现有模型类的字段的一部分.

我需要在当前模型实例上设置setValue,最后将值重新更新.

问题是我只需要更新模型的某些部分,但角形式会返回错误

"Cannot find form control with name 'fieldname'" 
Run Code Online (Sandbox Code Playgroud)

对于我不想编辑的额外字段.

获得所需行为的最佳选择是什么?

我想为我不希望在表单中更新的字段添加隐藏的formControls,但是我们的一些模型非常大,而我们需要用户只编辑它们的一部分.

我必须在最后获得一个更新的模型,用于我们的模型的脏检查和一般更新(与具有多个重复的类相关代码相比,仅用于设置所有formControls的值并从提交时的formControls更新模型)

谢谢.

更新只是为了澄清 - 我想要一个类似于此的行为:

--component.ts
model: Model = someModelWithData;

--component.html
<input type="checkbox" [(NgModel)]="model.FieldOne" />
Run Code Online (Sandbox Code Playgroud)

用户更改FieldOne中的值后,模型仍然已满,但所有其他数据都已更改,但FieldOne已更改.

angular angular4-forms angular-forms

6
推荐指数
2
解决办法
4665
查看次数

FragmentTabHost:没有标签为null的标签

我在设计师中遇到这个例外:

Exception raised during rendering: No tab known for tag null
Run Code Online (Sandbox Code Playgroud)

我有与这个人相同的精确代码 - Android FragmentTabHost:没有标签为null的标签

他的唯一答案是"使用较旧的弃用类" - TabHost而不是FragmentTabHost,这是我理解你需要使用的而不是......

我是Android和Java的初学者,但我在.NET中已经是程序员多年了,我发现很难找到很好的解决方案来解决非常基本的问题,这些问题来自于那里显然只有3个片段教程(就像上面说的那个)

所以基本上我的问题到目前为止:

  1. 根据我目前的理解,实际为您的Android应用程序制作菜单的唯一方法是使其成为带有片段的单个Activity应用程序,如果这是真的,如果FragmentTagHost尚未完全正常工作,我该如何跟踪我的片段?我找到了ActionBarSherlock的引用 - 他的最新版本也使用了很多不推荐的类

  2. 使用单个活动+片段的最佳实践是什么?我在哪里可以找到有用的示例来帮助我实现我想要的ui?

  3. 还有其他第三方解决方案可以像ActionBarSherlock一样提供帮助吗?

  4. 我正在使用Eclipse ADT,你会推荐一个不同的IDE吗?

非常感谢

PS - 请不要把我推荐给Android开发者教程,我一直都是通过他们,他们就像学习abc一样,我需要做句子并试图找到好的资料来源,我说是因为我找到了这里有很多很好的问题,只是回答"这里是真正的基础教程,去做那个"

android android-layout

5
推荐指数
1
解决办法
6952
查看次数

EF与Nhibernate合并断开的对象图

我刚刚在几个星期前开始了一个新项目并决定尝试使用EF Code First,之前我使用过NHIbernate,我喜欢让MS出现一个ORM的想法,到目前为止它一直都很棒 - 直到我开始制作复杂的物体.

我的项目层如下:Azure WCF角色 - 使用EF Code First处理DAL.带有Knockout的MVC 4的Azure WebSite角色 - 处理客户端.(我为未来创建了WCFRole,我们需要从不同平台访问服务)

这是非常基本的EF Code First设计,我遇到了以下问题: - 我只在服务和站点之间传输DTO,并制作了一个通用映射器来映射内部DTO(如果存在). - 我有一个City表和一个带有City Property的地址对象(我们需要City作为特殊功能的属性,而不仅仅是名称)

客户端知道城市列表,并返回一个现有城市的新地址当我尝试添加新地址时,会创建一个新城市,其中包含现有旧城市的数据,我已经知道这是因为EF没有我不知道如何合并断开连接的对象和我读的不支持任何合并,并且简单的不太舒服的解决方案只是管理对象状态 - 将City对象状态更改为Unchanged.

但是使用大型复杂数据库设计来处理这个问题听起来很糟糕

我的问题 - 处理这个问题的最佳做法/简单方法是什么?我想过一些解决方案 - 覆盖SaveChanges方法遍历所有对象,如果ID不是null/0 /其他一些约定将其从Added更改为Unchanged - 这个解决方案可以完成吗?

我的第二个问题 - 因为我对NHibernate(连接对象)有很多经验 - 我想知道NHibernate对此有何看法?我在某处读到NHibernate确实具有重新连接断开的复杂对象的AutoMagic Merge功能,这是真的吗?我的基本断开连接的地址 - >城市设计是否会与AutoMagic Merge一起开箱即用?使用它的后果是什么?

非常感谢 :)

更新:该问题的简化代码.

public class Address
{
    public int ID { get; set; }

    public virtual City City { get; set; }
}

public class City
{
    public int ID { get; set; }

    public string …
Run Code Online (Sandbox Code Playgroud)

c# nhibernate wcf asp.net-mvc-4 entity-framework-5

5
推荐指数
1
解决办法
923
查看次数