【发布时间】:2015-02-11 18:26:19
【问题描述】:
假设我有这样的控制器操作:
public ActionResult Foo() {
return View(new SomeModel {...});
}
我是否可以在运行时让此操作返回 JSON 而不是 HTML?这是一些自动化测试。我发现的唯一方法是修改我的控制器的基类以覆盖View(...),这样如果某些设置为真,它就会返回Json(model),而不是通常的情况。
我宁愿不这样做,因为这意味着即使在非测试环境中也会对每个操作进行评估的条件。
【问题讨论】:
-
return this.Json(new SomeModel { ... }); -
@Nikolay,我只想在测试环境中获取 JSON —— 这样就行不通了。
-
然后当
#if SOMEFLAG为真时返回JSON。 -
执行
if语句与方法和渲染中执行的其他操作相比算不了什么
标签: c# .net asp.net-mvc model-view-controller