小编MrJ*_*rJD的帖子

用简单英语解释NSIncrementalStore

我一直在看NSIncrementalStore,因为我一直在研究使用核心数据与Web服务交互的最佳方式.

在阅读了Drew Crawford撰写的文章,编程指南,课程参考 和本教程后,我几次仍然在努力了解什么是NSIncremental商店,为什么以及何时使用它.

有人可以解释一下吗?


阅读mundi的答案后编辑我可以看到需要进一步的上下文.我正在研究将核心数据与我正在构建的Web服务结合使用.我试图找到在设备本地存储用户信息的最佳方法,并在有连接时发布到Web服务.我缺乏对核心数据的了解促使我进行了研究,但我无法完全理解其有用性NSIncrementalStore.

cocoa-touch web-services core-data ios ios5

19
推荐指数
3
解决办法
4929
查看次数

宁静的MVC Web Api继承

我自己建立了一个asp.net mvc 4 web api

我一直在阅读微软视频,我认为它们很好.使用Http动词.资源是名词,它与存储库等等相同.

但有一件事真的让我烦恼

我的印象是这GET http://www.myurl.com/api/sellers/{id}/products是宁静的,GET http://www.myurl.com/api/products?$filter = sellerID eq {id}而不是.

我所看到的关于新web api的所有内容都是前者.

后者是否有原生支持?如果没有,有没有办法在没有路由一切的情况下做到这一点?


编辑-
进出口寻找的东西,将允许GET http://www.myurl.com/api/sellers/{id}/productsGET http://www.myurl.com/api/products


更新:
这个问题暂时没有意义,我已经修复了,但这就是为什么第一个答案没有标记为正确.


更新:
在与MilkyWayJoe聊天后,我们谈到了转换/Seller/2/Products/Products?$filter = sellerID eq 2.有没有人知道如何做到这一点?

asp.net asp.net-mvc asp.net-mvc-routing asp.net-mvc-4 asp.net-web-api

6
推荐指数
1
解决办法
785
查看次数

html.TextBoxFor和html.Textbox,POSTing值,参数模型

好吧,伙计们,需要一些帮助!

我正在使用asp.net mvc3 razor(我相当新,但做了很多网页表单)

好的,这个问题

我的问题围绕提交视图.我有一个非常复杂的模型,我的视图基于此(强类型).

我想将模型返回到控制器的HttpPost方法中的参数.基本上做:

public ActionResult Personal()
    {
        DataModel dataModel = new DataModel();
        FormModel model = new FormModel();
        model.candidateModel = dataModel.candidateModel;
        model.lookupModel = new LookupModel();

        return View(model);
    }

    [HttpPost]
    public ActionResult Personal(FormModel formModel)
    {
        if (ModelState.IsValid)
        {
            //stuff
        }
        return View(formModel);
    }
Run Code Online (Sandbox Code Playgroud)

现在......
我无法在post方法的formModel参数中获取值.

这工作(意味着我可以看到值)但是很繁琐,因为我必须准确地写出每个字段在字符串中的位置:

@Html.TextBox("formModel.candidateModel.tblApplicant.FirstName", Model.candidateModel.tblApplicant.FirstName)
Run Code Online (Sandbox Code Playgroud)

它呈现如下:

<input name="formModel.candidateModel.tblApplicant.FirstName" id="formModel_candidateModel_tblApplicant_FirstName" type="text" value="Graeme"/>
Run Code Online (Sandbox Code Playgroud)

这不起作用:

@Html.TextBoxFor(c => c.candidateModel.tblApplicant.FirstName)
Run Code Online (Sandbox Code Playgroud)

它呈现如下:

<input name="candidateModel.tblApplicant.FirstName" id="candidateModel_tblApplicant_FirstName" type="text" value="Graeme"/>
Run Code Online (Sandbox Code Playgroud)

现在我假设问题在于id的差异

所以请回答我:

  1. 我是以正确的方式来做这件事的
  2. 为什么textboxfor没有得到正确的值/ id,以及如何让它获得正确的值/ id以便我可以在POST中检索它(如果这甚至是问题)?
  3. 此外,似乎textboxfor是限制性的,如果你有一个日期时间,你如何使用.toshortdate()方法?这让我觉得textboxfor对我没用.

快速澄清:当我说textboxfor无法正常工作时,它会在我获取表单时获取值.所以他们填写,但在POST /提交,我无法在参数中的formModel中看到它们.

另一方面说明:
没有html助手工作,这就是问题所在.它们也没有出现在模型状态中.


谢谢大家的帮助

答案: …

post controller razor asp.net-mvc-3

4
推荐指数
1
解决办法
2万
查看次数

String.Format某些参数

我认为这是一个常见问题,但我似乎无法在SO或谷歌上找到任何东西.

是否可以只格式化一个参数.例如,格式化,string foo = "{0} is {1} when {2}";以便它返回读取"{0} is cray when {2}"

意图:
我试图格式化字符串,同时覆盖方法,然后在它的基本方法中进行格式化

成功
归功于这个答案,所有答案都很有帮助:).

这个单元测试工作:

string foo = String.Format("{0} is {1} when {2}", "{0}", "cray", "{2}");
Assert.AreEqual("{0} is cray when {2}", foo);
string bar = string.Format(foo, "this", null, "it works");
Assert.AreEqual("this is cray when it works", bar);
Run Code Online (Sandbox Code Playgroud)

c# string string-formatting

4
推荐指数
1
解决办法
132
查看次数

单元测试自定义视图引擎

我正在尝试对我编写的自定义视图引擎进行单元测试.

视图引擎的预期功能是它改变了执行FindView时RazorViewEngine基本所在的位置

这是我的单元测试

public void ViewEngineReturnsDependencyView()
{
    //Mock http request
    var mockRequest = new Mock<HttpRequestBase>();
    //Mock server variable
    NameValueCollection variables = new NameValueCollection();
    variables.Add("APPL_PHYSICAL_PATH", TEST_APPLICATION_PATH);
    mockRequest.Setup(r => r.ServerVariables).Returns(variables);

    //Mock http context
    var mockHttpContext = new Mock<HttpContextBase>();

    //Mock route
    mockHttpContext.Setup(c => c.Request).Returns(mockRequest.Object);
    var routeData = new RouteData();
    routeData.Values.Add("controller", "testController");
    routeData.Values.Add("action", "testAction");

    //Mock controller context
    var controllerContext = new testController().ControllerContext;
    controllerContext.HttpContext = mockHttpContext.Object;
    controllerContext.RouteData = routeData;
    var mockControllerContext = new ControllerContext(mockHttpContext.Object,
                        routeData, 
                        new Mock<ControllerBase>().Object);

    //Run find view
    viewEngine.FindView(mockControllerContext, "TestView", null, false);
} …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc unit-testing asp.net-mvc-4

3
推荐指数
1
解决办法
1641
查看次数

耦合到依赖注入框架

前言

在使用DI框架时,我觉得有可能用脚射击自己.
(我选择的框架是ninject,所以我将在我的例子中使用它.)

我将退后一步,看看DI 框架存在的原因:
为了防止必须手工完成DI

是的,根据Ninjects文档的精神,我们可以说我们Dojo创建了Samurai一个.这些SamuraiIWeapon在制作时给出的.

class Samurai{
    readonly IWeapon weapon;

    public Samurai(IWeapon weapon){
        this.weapon = weapon;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,它是我的理解,Dojo将使用Kernel.Get<IWeapon>()时,它会创建一个Samurai.

Woah
我不是只把我的Dojo连接到内核吗?
另外......如何获得内核:DI,单身,服务地点?

我觉得我们很快就打败了DI的目的,因为现在我依赖于我的DI框架.如果忍者被击败并且ninject也会死亡会怎么样?

如何在不耦合DI框架的情况下使用DI?

Postface

我确定之前已经问过这个问题,但我找不到任何东西.请使用评论发布相关问题,以便我们汇集知识以找出最佳解决方案.

.net c# design-patterns dependency-injection

2
推荐指数
1
解决办法
404
查看次数

区分用户或脚本引起的更改事件

我遇到过一些脚本更改选择/单选/复选框的情况。这会触发更改事件。但是,我需要单独一个事件来告诉我用户更改了元素,显然,当脚本触发更改时,它会注册为用户更改。

当您更改选择/单选/复选框的值时,有没有办法防止脚本触发更改事件?

javascript jquery jquery-events

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