【发布时间】:2014-05-09 06:03:46
【问题描述】:
那么Controller 的下一个示例是否有效?或者这样的逻辑应该在其他地方?
据我了解,我们需要使用DTO 在层之间传输数据,所以如果我们从BussinesLogic 层传递JsonResult 或ViewModel,会出错吗?
那么这个例子对了,专用于ViewModel创建的逻辑可以在controller?
[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult UploadImage(HttpPostedFileBase file)
{
var result = UploadedImageHandler.UploadFile(file);
JsonResult json;
if (result != null)
{
var uploadImageViewModel = new UploadedImagesViewModel
{
foo = result.foo
//here some values from result goes to ViewModel
};
var uploadResult = new UploadResultViewModel
{
Preview = new PreviewViewModel
{
bar = result.bar
//etc.
},
UploadedImage = uploadImageViewModel
};
json = new JsonResult
{
Data = uploadResult,
ContentType = "text/html"
};
}
else
{
json = new JsonResult
{
ContentType = "text/html"
};
}
return json;
}
【问题讨论】:
标签: c# asp.net asp.net-mvc n-layer