小编Ric*_*ick的帖子

ASP.NET MVC控制器FileContent ActionResult通过AJAX调用

设置:

控制器包含一个public ActionResult SaveFile()返回a 的方法FileContentResult.

什么有效:

视图包含一个表单,该表单提交此操作.结果是这个对话框:在此输入图像描述

什么行不通:

该视图包含一些javascript,用于对表单发布的同一个控制器操作进行AJAX调用.响应不是触发上述对话框,甚至是AJAX成功函数,而是触发AJAX错误函数,并XMLHttpRequest.responseText包含文件响应.

我需要做什么:

使用AJAX发出文件请求,最终得到与提交表单时相同的结果.如何让AJAX请求提供提交表单的对话框?

asp.net ajax asp.net-mvc

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

ASP.NET MVC和Unity 1.2容器问题

我正在尝试使用Unity容器来更轻松地对我的控制器进行单元测试.我的控制器使用一个接受Repository接口的构造函数.在global.asax文件中,我实例化一个UnityContainerFactory并将其注册到MVC框架,然后注册存储库及其实现.我将[Dependency]属性添加到控制器的CTOR Repository参数中.这一切似乎都可以正常工作,除了有时工厂的GetControllerInstance(Type controllerType)被多次调用并传递一个null参数作为controllerType.

对工厂的第一次调用是正确的,并且controllerType"ProductsController"作为参数传入.但有时候,在视图显示为控制器的空值后,工厂被调用了几次,我不知道为什么.当传递控制器类型的正确值时,"Call Stack"对我有意义,但是当传递null时,我不确定为什么或谁在进行调用.有任何想法吗?

该示例的代码和调用堆栈如下所示.

有效时调用堆栈

Test.DLL!Test.UnityHelpers.UnityControllerFactory.GetControllerInstance(System.Type controllerType = {Name ="ProductsController"FullName ="Test.Controllers.ProductsController"})第23行C#Test.DLL!Test._Default.Page_Load(object sender = {ASP.default_aspx},System.EventArgs e = {System.EventArgs})第18行+ 0x1a字节C#

在controllerType传递NULL时调用Stack

Test.DLL!Test.UnityHelpers.UnityControllerFactory.GetControllerInstance(System.Type controllerType = null)第27行C#

首先,我创建了一个UnityControllerFactory

public class UnityControllerFactory : DefaultControllerFactory
{
    UnityContainer container;

    public UnityControllerFactory(UnityContainer container)
    {
        this.container = container;
    }

    protected override IController GetControllerInstance(Type controllerType)
    {
        if (controllerType != null)
        {
            return container.Resolve(controllerType) as IController;
        }
        else
        {
            return null; // I never expect to get here, but I do sometimes, the callstack does not show the caller …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc unity-container

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

VS2017 RC - 尝试配置IIS Express时发生以下错误

安装VS2017 RC - 启动新项目ASP.NET核心Web应用程序(.Net CORE),选择单个用户帐户作为身份验证类型.尝试运行没有更改生成的代码并得到以下错误:尝试为项目配置IIS Express时出错...错误:../.vs/config/applicationhost.config错误:无法写入配置文件

查看该文件,它似乎应该是可写的.

仅供参考使用VS2015 Update 3,所有内容都按预期构建和运行,包括IIS Express.

visual-studio iis-express

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