小编RMD*_*RMD的帖子

ASP.NET MVC4模型没有绑定

我有一个非常简单的ASP.NET MVC4页面.它正在呈现CustomerModel的编辑表单.表单正确显示,但是当我点击编辑并回发时,模型没有被绑定.相反,CustomerModel的所有属性都保留其默认值.需要注意的是正确的控制器方法被调用,所以这不是问题.

我可以看到表单值与模型属性(Id,Name,Description)匹配的名称,但模型没有设置它们.

想法?

这是模型:

public class CustomerModel
{
    [Required] 
    public Guid Id;

    [Required]
    public string Name;

    [Required]
    public string Description;
}
Run Code Online (Sandbox Code Playgroud)

这是相关的控制器方法:

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Edit(CustomerModel customerModel)
    {
        if (ModelState.IsValid)
        {
            //...Do stuff

            return RedirectToAction("Index");
        }

        return View(customerModel);
    }
Run Code Online (Sandbox Code Playgroud)

最后,这是一个带有填充值的表单集合的屏幕截图:

在此输入图像描述

model-binding asp.net-mvc-4

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

阻止AutoMapper预测强制加载相关数据

有没有办法配置AutoMapper以遵守实体框架的.Include样式加载指令?

我已经为我的上下文禁用了延迟加载,我想有条件地为特定实体加载相关数据.理想情况下,我想通过使用include语法来实现这一点.就像是:

if(loadAddreses)
{
    query = query.Include(e => e.Addresses);
}

if(loadEmails)
{
    query = query.Include(e => e.Emails);
}
Run Code Online (Sandbox Code Playgroud)

问题是,AutoMapper看到我正在预测的模型包括地址和电子邮件,并且正在生成加载所有数据的SQL,无论我要求EF包含什么.换一种说法:

var model = query.Project.To<MyModel>();
Run Code Online (Sandbox Code Playgroud)

如果MyModel具有Addresses集合,它将加载地址,而不管我的Include语句.

如果没有更改我的模型,以便我有一个没有地址或电子邮件属性的模型,有没有办法解决这个问题?我想我可以改变我的映射,但映射通常是静态的,并且在最初创建后不会改变.

entity-framework automapper

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

为计算机上的所有*HTTP请求添加标头

我需要能够附加由大多数HTTP请求发送的HTTP头(或修改用户代理字符串)离开PC.

大多数情况下,我指的是Internet Explorer中的任何内容,以及来自.NET应用程序的任何内容.

我已经通过编写BHO来完成Internet Explorer方面的工作,但是BHO不会拦截加载到IE中的ClickOnce控件所做的请求,这是另一个要求.

在我的案例中,.NET应用程序都使用WebRequest.Create来发出请求.

这可能吗?我希望我能在某个地方向System.Net堆栈注入一些代码.

代理是一种可能性,但事实证明很难创建一个不像地狱那样的代理.HTTPS流量是另一个问题.

.net http

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

使用相同的TFS构建定义构建解决方案和项目

我正在尝试使用包含解决方案文件和项目文件的TFS 2012构建定义.

构建运行时,解决方案无法构建.相反,我得到的警告如下:

F:\ Source\1\MyCode\src\MySolution.sln.metaproj:指定的解决方案配置"Release | AnyCPU"无效.请使用"配置和平台"属性指定有效的解决方案配置(例如,MSBuild.exe Solution.sln/p:Configuration = Debug/p:Platform ="Any CPU")或将这些属性留空以使用默认解决方案配置.

这是由于一个错误导致Visual Studio使用"Any CPU"作为解决方案文件的平台,而它使用"AnyCPU"作为项目文件.请参阅:http: //connect.microsoft.com/VisualStudio/feedback/details/503935/msbuild-inconsistent-platform-for-any-cpu-between-solution-and-project

有没有办法配置我的构建,以使这项工作尽管有问题?即,一种将特定平台值传递给特定sln构建命令同时将不同值传递给其他命令的方法?

msbuild tfs tfsbuild visual-studio

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

使用Azure队列作为状态机

我想将Azure Queues用作高负载/高规模Web服务的状态机.

客户端将向Web服务端点提交请求,此时我将返回请求ID.

然后,我将消息提交到队列,以便工作者角色可以处理它,但在提交过程中不会发生数据库活动.相反,我想使用消息所在的队列来表示它的当前状态.

我的问题是,如果一个辅助角色从队列中抓取消息来处理它,它就会在该队列上变得不可见.如果我想检查该消息的处理状态,我的消息状态不明确.消息丢失/从未收到,或者它在队列中但是因为正在处理而不可见.

理想情况下,我希望能够在隐形信息中达到顶峰.如果我找到一个与请求ID匹配的,我知道它正在被处理,如果它是不可见的,或者它正在等待处理,如果它是可见的.显然,我知道它何时完成处理,因为该操作将导致数据库写入.

这是可能的,或者是我无法查看Azure队列中的不可见消息,这是不是?

state-machine azure azure-queues

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