小编GON*_*ale的帖子

似乎无法让IncludeProperties在ASP.NET MVC中使用UpdateModel

有人有运气吗?

如果我理解正确,请告诉我,如果我有一个简单的模型,请说:

public string Name { get; set; }
public string Details { get; set; }
public DateTime? Created { get; set; }
Run Code Online (Sandbox Code Playgroud)

然后我执行:

var myModel = getCurrentModelFromDb(id);
UpdateModel(myModel, "ModelName", new string { "Name", "Details" });
Run Code Online (Sandbox Code Playgroud)

这应该更新名称和详细信息属性吗?因为假设在'created'中已经有来自db的日期,当我执行上述操作时,它似乎将我创建的日期设置为原始的01-01-0001.

此外,当我尝试使用以下方法明确排除此字段时:

UpdateModel(myModel, "ModelName", 
   new string { "Name", "Details" }, new string { "Created" });
Run Code Online (Sandbox Code Playgroud)

它仍被设置为01-01-0001.这是一个错误,还是一个我做错的奇怪事情?

我真正想要做的是,更新我的模型属性,其中有相应的表单字段,但保留其余的单独的数据,这些属性是从db fetch单独设置的,而不是将它们设置为null或default,这就是它当前的内容似乎在做.

我会说,也许上面和我的真实场景之间的唯一区别是我在列表上使用updateModel,所以我实际上得到了listFromDb(parentId),然后在那个选择上应用updateModel(myList,"ListPrefix")通过[0],[1]等来计算每个项目...它的工作原理,因为所有名称都在更新,但其他一切都没有.

更新:我刚刚意识到'includeProperties'可能是要定义您希望从表单中包含哪些属性,类似于绑定的工作方式.如果*是*的情况,那么我怎么能告诉它只更新某些模型属性呢?

asp.net asp.net-mvc updatemodel

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

如何在系统托盘上下文菜单中使用Windows look'n'feel?

我有一个工作NotifyIconContextMenuStrip,我不想用默认的菜单的外观和使用感觉被运出与此控制这是不同的Windows(Vista的在我的情况)箱子contextMenu.RenderMode = ToolStripRenderMode.ManagerRenderModecontextMenu.RenderMode = ToolStripRenderMode.Professional:

替代文字

我不希望这个使用contextMenu.RenderMode = ToolStripRenderMode.System:

替代文字

我只是想使用标准的,正常的Windows"外观和感觉",如无数,可能是非网络应用程序*grumble*:

替代文字 替代文字

任何想法的人如何实现这一目标?

.net c# winforms

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

使用MonoTouch进行游戏开发的选项

游戏开发者在使用MonoTouch框架方面有哪些选择?

  1. 是否完全支持OpenGL?或者只是一个子集?
  2. 是否有任何与MonoTouch兼容的工具,框架或引擎?这些库是否也必须用.NET编写?
  3. 你还有其他的提示吗?

谢谢大家.

iphone xamarin.ios

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

具有WCF调用的单元测试服务(MSUnit + Moq)

我是Mocking的新手,对单元测试有些熟悉,最后决定用一个严格的TDD方法开始一个新项目.但是,我有一个服务类和方法,我需要回顾性地添加测试,因为它已从原型升级.

我不知道在这个特定的测试中从哪里开始,这是涉及的类和方法:

public class PageService : IPageService
{
    private readonly ITestService testServiceClient;

    public PageService(ITestService testServiceClient)
    {
        this.testServiceClient = testServiceClient;
    }

    public Page GetPage(Guid websiteId, string pageKey)
    {
        Page builtPage = null;

        // WCF SERVICE CALL I DO NOT WANT EXECUTING WHEN RUNNING UNIT TEST
        // BUT RATHER WANT A BLANK NEW INSTANCE OF "PAGE" CREATED USING MOQ??
        var page = testServiceClient.GetPage(websiteId, pageKey);

        if (page == null)
            return null;

        builtPage = new Page();

        [code here to build builtPage if input params …
Run Code Online (Sandbox Code Playgroud)

.net unit-testing dependency-injection moq mocking

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

有什么方法可以动态获取DateTime.Now.AddDays(0..7)列表?

我能想到的最有效和最典型的解决方案是:

var dates = new DateTime[7];
for (int i = 0; i < 7; i++)
  dates[i] = DateTime.Now.AddDays(i);
Run Code Online (Sandbox Code Playgroud)

这将在数​​组中返回七(7)个日期,这是我想要的结果.我认为红宝石可以做这样的事情,只需指定点,但我不记得了.

但是,有更有效的方法吗?或者有没有办法用linq实现这个(可能通过Aggregate方法?),如果有的话,即使它不是最有效的解决方案,我也会很好奇.

理想情况下,它不需要您为所需的"时间"量重新声明任何对象实例,并允许您只指定DateTime.Now一次,并且只需要一次指定数组/列表中的项目数.

谢谢

.net c# optimization performance

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

ASP.NET MVC [RegularExpression]属性在整个字符串匹配中不起作用

我似乎无法在Stack Overflow上找到类似的主题,所以这里是:

为什么在我对ASP.NET MVC视图模型类指定以下定义时:

[Required]
[RegularExpression(@"\A\d{3,4}\Z",
   ErrorMessage = "The security code (CVN) must be between 3 - 4 digits long.")]
[Display(Name = "Card Security Code (CVN)")]
public string CardCVN { get; set; }
Run Code Online (Sandbox Code Playgroud)

在我不引人注意的客户端验证测试中,正则表达式无法验证?(并随后显示表单字段错误).

一旦我的正则表达式改为[RegularExpression(@"\d{3,4}"...删除整个字符串匹配技术,它似乎完美匹配?并且似乎呈现的jquery验证,即使它不适用\A或者\Z它只匹配整个字符串匹配(做我最初需要的!); 我错过了什么吗?

谢谢.

regex asp.net-mvc jquery-validate unobtrusive-validation asp.net-mvc-3

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

意外-无法比较类型'System.Int32 []'的元素。仅支持原始类型,枚举类型和实体类型

任何想法在EF DbContext查询中可能出现什么问题?据我了解,这应该按照SO同伴来进行。

我试过列表,空值检查,不是空值检查,但没有用。但是,如果我删除了null检查并仅保留,则查询确实起作用Contains()。但是,如果testID为null,则必须返回所有记录。

var testIDs = new int[] { 1, 3 };
var test = session.All<VendorBooking>(x => testIDs == null || testIDs.Contains(x.VendorServiceID)).ToList();
Run Code Online (Sandbox Code Playgroud)

(session.All只是利用context.Set<T>.Where()

引发异常:EntityFramework.SqlServer.dll中的“ System.NotSupportedException”

附加信息:无法比较'System.Int32 []'类型的元素。仅支持原始类型,枚举类型和实体类型。

在此处输入图片说明

非常感谢

.net c# lambda entity-framework

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

LINQ to SQL是否使用ActiveRecord模式?

我刚刚研究了ActiveRecord模式,基于此(http://en.wikipedia.org/wiki/Active_record_pattern),似乎Linq 2 Sql或多或少实现了这个,我错了吗?或者需要更改什么以使其符合ActiveRecord模式?

.net activerecord linq-to-sql

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

在MonoTouch中有任何cocos2d的机会吗?

在了解了monotouch如何工作的更多信息后,我相信无论如何我都知道这个问题的答案,但是你可以将cocos2d-iphone框架与monotouch一起使用吗?我相信这很可能是一个'不',因为cocos2d是一个客观的c库,并且很可能必须有某种.net端口才能实现这个目标?是这样吗?

我还没有做任何monotouch开发,但是用cocos2d进行了一些客观的开发,并且我非常喜欢这个框架,并希望避免,因为我对游戏开发很陌生,直接陷入黑暗的直线领域通过monotouch支持的openTK接口进行opengl编程.

我还在这里开设了一个社区维基,供人们在monotouch上分享游戏开发选项,这应该可以帮助我们所有这个新兴的框架.

iphone opengl-es cocos2d-iphone xamarin.ios

3
推荐指数
2
解决办法
2016
查看次数

在温莎配置文件中使用Enum作为参数

如何使用Enum指定的条目预设Windsor配置文件参数,例如下面的"EntryType"?

我目前有这个:

<component
      id="test.service" service=".." type=".." lifestyle="transient">
      <parameters>
        <entryType>EntryType.Test</entryType>
      </parameters>
    </component>
Run Code Online (Sandbox Code Playgroud)

其中..显然代表了完整的命名空间和装配.

但收到此错误:

Could not convert from 'EntryType.Test' to 
   Business.Common.Services.Core.TestService+EntryType.
Run Code Online (Sandbox Code Playgroud)

.net castle-windsor

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