问题标签 [actionresult]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
345 浏览

c# - 为什么这段代码向浏览器发送 0kb 文件?

这是电话...

[请注意,我将内容长度设置为 null 因为我不知道(文件在另一台服务器上)]

a.AssetPath 是:“ http://http.cdnlayer.com/account name/folder/folder/folder/asset.mp3”

(这个例子的 URL 是假的,但在我的实现中我可以直接浏览文件,但是这个附件方法不起作用)

这是实现...

该文件正在像我想要的那样直接下载(不是由浏览器打开)但是它不是文件,它只是一个同名的 0kb 文件。

0 投票
4 回答
851 浏览

asp.net-mvc - 如何限制对 ASP.NET MVC 中的 [HttpGet] ActionResult 的访问?

想象一下,我有一个像这样的 ActionResult:

我如何阻止除我之外的所有其他网站使用它,就好像它是他们自己的基于 REST 的小服务来获取匹配城市的列表一样?检查推荐人是唯一的方法吗?或者有没有更好的想法?

0 投票
2 回答
807 浏览

asp.net-mvc - 使用 ASP.NET MVC 和 StructureMap 的最佳实践 DI - 如何在 ActionResult 中注入依赖项

我编辑了我的整个问题,所以不要怀疑:)

好吧,我想要一个ActionResult接受域模型数据和一些附加参数,即用于分页列表的页面索引和页面大小。它根据 Web 请求的类型(是否为 ajax 请求)自行决定是否返回 PartialViewResult 或 ViewResult。

引用的数据应使用 IMappingService 自动映射,该服务负责将任何域模型数据转换为视图模型。为简单起见,MappingService 使用 AutoMapper。

映射动作结果:

BaseHybridViewResult:

AutoMappedHybridViewResult:

在控制器中的用法:

所以你可以看到它IMappingService是隐藏的。控制器不应该知道关于IMappingService接口的任何信息,什么时候AutoMappedHybridViewResult使用。

是适当MappingActionResultstatic IMappingServer还是我违反了DI原则?

0 投票
2 回答
3199 浏览

asp.net-mvc-2 - 在使控制器与 IoC 框架无关的同时,如何将 Ninject 与 ActionResults 一起使用?

我见过的几乎所有 Ninject 示例都解释了如何将它与 ASP.NET MVC 一起使用,它会自动将依赖项注入控制器。我将如何手动使用 Ninject?假设我有一个自定义 ActionResult:

然后在我的控制器中,我使用JsonResult这样的方法:

如您所见,我自己实例化了该对象,这回避了 Ninject 的注入,并且Serializer将为空。但是,按照以下方式进行操作对我来说似乎不太正确:

因为现在不仅在控制器中存在对 Ninject 的依赖,而且我还必须在静态类/单例中公开 Ninject 内核,并确保依赖注入的对象仅通过内核创建。

有没有办法以某种方式配置 Ninject 以注入依赖项而不依赖于暴露内核?如果可能的话,我希望能够使用new关键字。

0 投票
5 回答
2086 浏览

asp.net-mvc - C# MVC 对浏览器的即时响应?

再次,询问 MVC noob 问题。原谅我缺乏经验。

我有一种情况,我使用 MVC 路由返回一个大的 XML 文件。有时它可能非常大。目前,我正在使用 StringBuilder 构建我想要的 XML 输出,然后像这样返回它:

我遇到的是(由于各种原因)XML 博客可能需要很长时间才能生成。

在 XmlObject.WriteXml() 方法中调用了大量其他小方法,这些小方法在调用时输出 XML 的点点滴滴,因此我立即开始构建 XML 字符串,只需要一段时间即可完成。这些方法中的每一个都接受一个 StringBuilder 作为参数,因此可以创建一个然后将其传递到各处,在每个小方法中使用 sb.Append() 来构建最终的 XML blob。

好的,所以我想做的是在字符串开始构建后立即开始向客户端返回一些东西。在 Webforms 中,我会用 HttpResponse 替换所有 StringBuilder 参数,并使用 HttpResponse.Write() 而不是 StringBuilder.Append(),其方式类似于:

然后,随着每一小段 XML 被写入响应,文本将被发送到客户端。

我遇到的问题是 ActionResult 必须有一个 return 语句。我不知道如何使用 MVC 路由和 ActionResult 进行类似的处理。也许我需要使用 ActionResult 以外的东西?

谢谢大家!

0 投票
2 回答
3072 浏览

asp.net - 通过 ExecuteResult 进行单元测试或运行时 ActionResult 字符串输出响应?

问题...

从多个 Controller 方法对字符串响应内容类型进行单元测试的最佳方法是什么?

使用...

每个方法都返回一个ActionResult,其中一些是ViewResult响应。我正在使用 ASP.NET MVC 2 RTM 和Moq

具体来说...

我希望获得TextWriterfromHttpContext.Response并让它包含来自ActionResult.

为什么?

1. 在单元测试中

我想测试一些特定的内容是否与输出一起存在和存在。

2. 通过工作线程运行时

我使用后台工作线程来更新远程服务器上的静态内容,该内容是控制器的输出,必须这样生成。不建议通过 HTTP 向同一服务器发出请求,因为有许多 1000 个文件需要更新。

我看到在Runtime和通过Unit Tests都使用了相同的代码,因为它会非常相似吗?

绊脚石1

如何正确设置模拟以不需要 Routes调用RegisterRoutesRegisterAllAreas让调用成功,目前在深处引发异常BuildManagerWrapper::IBuildManager.GetReferencedAssemblies

示例代码

我的模拟助手看起来像这样:

我目前对 TestMethod 的尝试如下:

我的区域、视图和共享文件是:

- Areas\Coded\Controllers\CodeController.cs
- Areas\Coded\Views\Coded\CodedJavaScript.aspx
- Areas\Coded\CodedAreaRegistration.cs
-Views\Shared\CodedJavaScript.Master

编辑:编辑现在包括单元测试和运行时执行。感谢@Darin Dimitrov 提到集成测试,但现在这个问题还有一个运行时元素。

编辑:在使用alexn 引用的 MvcIntegrationTestFramework中的一些源代码进行一些测试和审查之后 。使用AppDomain.CreateDomainSimpleWorkerRequest创建新请求,我发现由于使用的static值,在已经有活动请求的进程中无法通过此方法创建新请求。所以这排除了这种方法。

可能是同样的问题,但我现在想知道部分视图的结果是否可以更直接地作为字符串返回?

0 投票
1 回答
121 浏览

asp.net-mvc-2 - 如何将行为添加到 asp.net mvc 2 操作结果输出

假设我有两个控制器和两个动作。

控制器 -> AController 动作 -> MethodA()

.

控制器 -> BController 动作 -> MethodB()

这两个都通过 View(typedObject) 返回 xml 数据。

我想在将此输出返回给客户端之前添加 base 64 编码。在方法 A 和方法 B 上。并且可能还有一些其他方法也应该包含在此编码中。

是否有任何好的方法来完成行为结果的行为/处理?

最好为此添加自定义操作结果吗?

0 投票
3 回答
10890 浏览

asp.net-mvc - ASP.NET MVC:如何将 ActionResult 转换为字符串?

我想采用现有的操作方法,将其返回值呈现为字符串并将其作为 JSON 发送以响应 AJAX 请求。

为此,我需要将 ActionResult 呈现为字符串。我该怎么做呢?

相反,我们可以使用 this.Content() 将字符串转换为 ActionResult。

更新

现有的第一个操作方法返回一个 ActionResult 类型,但它实际上返回一个 ViewResult 以响应 HTTP 发布请求。我有第二个动作方法(我的外观),它返回一个响应 AJAX 请求的 JsonResult。我希望这个第二个动作方法使用第一个动作方法来呈现 HTML。

在总体方案中,我想要一个 ActionResult(从一个操作方法生成)不仅可以通过标准 HTTP 发布,还可以通过 AJAX 请求通过外观操作方法(第二个操作方法)进行检索。这样,作为开发人员,我可以选择使用 HTTP Post 或 AJAX 来检索页面的呈现。

抱歉,我试图使此更新尽可能短。谢谢。

0 投票
1 回答
5557 浏览

c# - 我可以从 ActionResult 中检索 ViewModel 吗?

在这里尽量避免重复。我在不允许修改的基类控制器中有一个操作。我希望我的操作进行一些检查,调用基类操作,并在渲染之前以某种方式修改结果。但我需要做的部分事情是修改 的一些属性ViewModel,并且基类返回一个ActionResult. 我认为没有办法ViewModelActionResult. 我强烈不希望这样做。有什么建议么?

0 投票
1 回答
319 浏览

c# - MVC 用户格式输出

我有一个 C# MVC 项目,并允许用户选择输出数据的方式(即以 kmh/mph 为单位的速度,以 CST、EST 为单位的时间等,以 KM、英里、米、赫克特为单位的距离等.)。不是每次都跑回数据库来检索设置,而是在登录时将其填充到加密的 cookie 用户数据部分。我还使用服务存储库模式,其中我的服务在 BLL 中实现,在 BOL 中定义模型。我还将数据作为 JsonResults 返回(使用 NewtonSoft 库)。在不将此单元首选项信息传递到业务逻辑层的情况下,将数据转换为用户指定类型的最佳策略(在哪里以及如何)是什么?我最初在考虑使用 customAttributes 并编写自己的 CustomJsonResult actionResult,这将使用反射并生成 Json 字符串,但这需要我自己的对象遍历算法。我主要关心的是我想让我的应用程序无状态。