MVC开发中自定义返回类型
在做项目web的MVC中,会用到返回值的问题,我们一般使用AjaxResult的返回值,根据自己的需要进行自定义,如下参考:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace ToolsUse.CommonHelper
{
public class AjaxResult
{
/// <summary>
/// 是否产生错误
/// </summary>
public bool IsError { get; set; } /// <summary>
/// 错误信息,或者成功信息
/// </summary>
public string Message { get; set; } /// <summary>
/// 成功可能时返回的数据
/// </summary>
public object Data { get; set; } #region Error
public static AjaxResult Error()
{
return new AjaxResult
{
IsError = true
};
}
public static AjaxResult Error(string message)
{
return new AjaxResult
{
IsError = true,
Message = message
};
}
public static AjaxResult Error(object data, string message)
{
return new AjaxResult
{
IsError = true,
Message = message,
Data = data
};
}
#endregion #region Success
public static AjaxResult Success()
{
return new AjaxResult
{
IsError = false
};
}
public static AjaxResult Success(string message)
{
return new AjaxResult
{
IsError = false,
Message = message
};
}
public static AjaxResult Success(object data)
{
return new AjaxResult
{
IsError = false,
Data = data
};
}
public static AjaxResult Success(object data, string message)
{
return new AjaxResult
{
IsError = false,
Data = data,
Message = message
};
}
#endregion /// <summary>
/// 返回当前对象JSON字符串
/// </summary>
/// <returns></returns>
public override string ToString()
{
return JSON.FormatString(this);
}
}
}
另外,你可以修改返回错误的时候,对应的Exception对象。
使用就简单了,如下调用:
public class TestController : Controller
{
// GET: UpYunTest
public ActionResult Index()
{
return View();
} public ActionResult Test1()
{
return View();
} public JsonResult UploadTest()
{
//文件检测
if (Request.Files.Count == )
{
return Json(AjaxResult.Error("无要上传的文件"));
}
var file = Request.Files[];
if (file == null)
{
return Json(AjaxResult.Error("无要上传的文件"));
}
if (file.ContentLength > * * )
{
return Json(AjaxResult.Error("文件过大"));
}
var extensionName = Path.GetExtension(file.FileName);
if (!CloudFileHelper.ImageExtensions.Contains(extensionName))
{
return Json(AjaxResult.Error("请上传图片格式的文件"));
}
var bucketType = UpyunHelper.GetFileType(extensionName+ "_comprehensive ");//设置只传到综合的服务器kwan-upyun中
var fileName = UpyunHelper.BuildFileName(extensionName);
var filePath = UpyunHelper.BuildFilePath();
var url=UpyunHelper.UpLoad(file.InputStream,bucketType,filePath,fileName);
var rtnUrl = UpyunHelper.ProcessUrl(url,bucketType);
return Json(AjaxResult.Success(rtnUrl, "上传成功"));
}
}
MVC开发中自定义返回类型的更多相关文章
- MVC3中Action返回类型ActionResult类型
MVC3中Action返回类型ActionResult在System.Web.Mvc命名空间中.这些包含在控制器中的方法,我们称为控制器中的 Action,比如:HomeController 中的 I ...
- “全栈2019”Java第五十八章:多态中方法返回类型可以是子类类型
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- Spring MVC控制层的返回类型--String类型与Bean类型
SpringMVC控制层的返回类型形式多样,现拿其中的两种--String类型与Bean类型作以说明. 一.测试项目的结构 说明:(jsp的名字没起好) 控制层:UserController.java ...
- 开发MOSS自定义字段类型
前段时间,由于刚好项目定制的需要,笔者就开发了几个自定义字段类型.在这抽空做个详细笔记,方便初学者学习.这方面的资料也很多,如果自身觉得不大明白可以参考下SDK和网上的相关文章.本章的目的主要是给新手 ...
- 【Swift】IOS开发中自定义转场动画
在IOS开发中,我们model另外一个控制器的时候,一般都使用默认的转场动画. 其实我们可以自定义一些转场动画.达到不同的转场效果. 步骤如下:(photoBrowser是目标控制器) 1.在源控制器 ...
- golang中自定义一些类型和对应类型的指针方法
package main import "fmt" // 项目开发中可以为type声明的类型编写一些方法,从而实现对象.方法的操作 // 声明类型 type myInt int / ...
- asp.net mvc视图中使用entitySet类型数据时提示出错
asp.net mvc5视图中使用entitySet类型数据时提示以下错误 检查了一下引用,发现已经引用了System.Data.Linq了,可是还是一直提示出错, 后来发现还需要在Views文件夹下 ...
- c语言中自定义bool类型模板
首先,c语言中没有bool类型,只有c++中有,所以需要自定义,即c中表示bool类型的方法: 1.模板1 typedef int bool; #define false 0 #define true ...
- mvc开发中DTO,DO,FROM的区别
DO:数据库实体类映射到model里的实体类,每个字段都和数据库相对应,一般来说开发的时候不要去添加或者修改里面的实体 DTO:与前台交互的时候(一般来说是查询操作)有一些数据字段是那一张表里面没有囊 ...
随机推荐
- 作业:SSH
作业:使用SSH通过网络远程控制电脑 在虚拟机中用apt命令安装了ssh,但多次连接都失败了,尝试了很多次.后来发现只要是虚拟机中的系统使用的ip都是一样的从而发现了问题.虚拟机的网络是被更改后的,后 ...
- [技术博客]ubuntu+nginx+uwsgi+Django+https的部署
ubuntu+nginx+uwsgi+Django+https部署文档 配置机器介绍 操作系统:Ubuntu 18.04.2 LTS 64位 python版本:Python 3.6.7 Django版 ...
- Shell脚本之三 传递参数
我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n.n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推-- 实例 向脚本传递三个参数,并分 ...
- TreeMap源码分析1
二叉树他们都需要满足一个基本性质--即树中的任何节点的值大于它的左子节点,且小于它的右子节点.按照这个基本性质使得树的检索效率大大提高.我们知道在生成二叉树的过程是非常容易失衡的,最坏的情况就是一边倒 ...
- Jenkins绑定git
1,新建任务
- DDR3(1):IP核调取
本系列整理一下基于 Xilinx A7 芯片的 DDR3 的使用,此处采用的 DDR3 IP核为软核,即采用 FPGA 逻辑单元.寄存器.查找表等搭建出来 IP核.从 IP 核的调取开始,接着读写测试 ...
- PowerBI开发 第四篇:DAX 表达式基础
DAX 表达式主要用于创建度量列(Measure),度量值是根据用户选择的Filter和公式,计算聚合值,DAX表达式基本上都是引用对应的函数,函数的执行有表级(Table-Level)上下文和行级( ...
- 使用位运算实现int32位 整数的加减乘除
我觉得比较难想的是加法吧. 首先加法,脑海中脑补二进制加法,相同位相加,超过2 ,则进1,留0 那么用位运算怎么实现呢?其实理解了异或和与操作,就很容易想出来了. 我觉得异或操作和与操作完全就是实现加 ...
- SQL Server的NTEXT类型不支持等号"="操作(转载)
SQL SERVER – Fix: Error : 402 The data types ntext and varchar are incompatible in the equal to oper ...
- c# DataRow[]转Datatable
方法一: Datatable dt=new Datatable(); //添加列和数据(代码省略) DataRow[] drs = dt.Select("DeviceID='123'&quo ...