我一直在看NSIncrementalStore,因为我一直在研究使用核心数据与Web服务交互的最佳方式.
在阅读了Drew Crawford撰写的文章,编程指南,课程参考 和本教程后,我几次仍然在努力了解什么是NSIncremental商店,为什么以及何时使用它.
有人可以解释一下吗?
阅读mundi的答案后编辑我可以看到需要进一步的上下文.我正在研究将核心数据与我正在构建的Web服务结合使用.我试图找到在设备本地存储用户信息的最佳方法,并在有连接时发布到Web服务.我缺乏对核心数据的了解促使我进行了研究,但我无法完全理解其有用性NSIncrementalStore.
我自己建立了一个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}/products和GET 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
好吧,伙计们,需要一些帮助!
我正在使用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的差异
所以请回答我:
快速澄清:当我说textboxfor无法正常工作时,它会在我获取表单时获取值.所以他们填写,但在POST /提交,我无法在参数中的formModel中看到它们.
另一方面说明:
没有html助手工作,这就是问题所在.它们也没有出现在模型状态中.
谢谢大家的帮助
答案: …
我认为这是一个常见问题,但我似乎无法在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) 我正在尝试对我编写的自定义视图引擎进行单元测试.
视图引擎的预期功能是它改变了执行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) 在使用DI框架时,我觉得有可能用脚射击自己.
(我选择的框架是ninject,所以我将在我的例子中使用它.)
我将退后一步,看看DI 框架存在的原因:
为了防止必须手工完成DI
是的,根据Ninjects文档的精神,我们可以说我们Dojo创建了Samurai一个.这些Samurai是IWeapon在制作时给出的.
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?
我确定之前已经问过这个问题,但我找不到任何东西.请使用评论发布相关问题,以便我们汇集知识以找出最佳解决方案.
我遇到过一些脚本更改选择/单选/复选框的情况。这会触发更改事件。但是,我需要单独一个事件来告诉我用户更改了元素,显然,当脚本触发更改时,它会注册为用户更改。
当您更改选择/单选/复选框的值时,有没有办法防止脚本触发更改事件?
c# ×3
asp.net-mvc ×2
.net ×1
asp.net ×1
cocoa-touch ×1
controller ×1
core-data ×1
ios ×1
ios5 ×1
javascript ×1
jquery ×1
post ×1
razor ×1
string ×1
unit-testing ×1
web-services ×1