http://bbs.51541.com.cn/showtopic-74.html
老是得判断参数是不是空,就弄了个判断参数不能为空的过滤器
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.Mvc; namespace GGG.Library.Filter { /// <summary> /// 过虑器 /// 判断参数是否为空 /// created by lihui_830501@163.com 20090521 /// </summary> public class ArgumentNotNullFilter : ActionFilterAttribute { private string[] _vars; private string[] _errors; /// <summary> /// 构造 /// </summary> /// <param name="vars">参数数组</param> /// <param name="errors">错误信息数组 与参数数组对应</param> public ArgumentNotNullFilter(string[] vars, string[] errors) { _vars = vars; _errors=errors; } public override void OnActionExecuting(ActionExecutingContext filterContext) { for (int i = 0; i < _vars.Length; i++) { string value = filterContext.Controller.ValueProvider[_vars[i]].AttemptedValue; if (string.IsNullOrEmpty(value)) { filterContext.Controller.TempData["Error"] = _errors[i]; filterContext.HttpContext.Response.Redirect(filterContext.HttpContext.Request.UrlReferrer.ToString()); break; } } } } }
使用:
[ArgumentNotNullFilter(new string[] {"name" }, new string[] { "被修改的栏目名称不能为空!"})]
public ActionResult ModifyCategory(int id, string name)
在aspx里接收TempData["Error"]就可以了