如果 AJAX 调用成功,我想返回一个简单的对象Success = true
public ActionResult Foo(int id)
{
// ...
return Json(new {Success=true});
}
这工作正常,我的 javascript 接收的对象看起来像
{ Success : true }
但是因为返回的对象是匿名类型,所以我不能在我的测试中做(类似的事情)以下内容:
var result = (JsonResult)controller.AddNote(id, message);
dynamic data = result.Data;
// Assert
Assert.That(data.Success, Is.EqualTo(true));
所以我尝试返回一个 ExpandoObject ,它允许测试以我想要的方式工作,但是在 AJAX 响应中发送回的 JSON 是一团糟,如本问题所述。
[{"Key":"Success","Value":true}]
是否有一种简单、干净的方法来实现看起来应该很容易的事情,或者是在链接问题中实现一些自定义序列化的唯一方法?