博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET MVC 之controller 找不到action 的处理方式
阅读量:6914 次
发布时间:2019-06-27

本文共 1372 字,大约阅读时间需要 4 分钟。

hot3.png

如果ActionInvoker找不到对应的action,默认会运行contorller类的HandleUnknownAction。而HandleUnknownAction会响应默认HTTP 404114218_ioNt_2494395.png

在 asp.net MVC 里面 所有的controller 默认都继承于  System.Web.Mvc.Controller这个类,由于在System.Web.Mvc.Controller里HandleUnknownAction被标注了virtual ,所以 这个方法是可以替换的。

即我们可以自己重写HandleUnknownAction

using mytest2.DBContext;using mytest2.Models;using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;namespace mytest2.Controllers{    public class guestsController : Controller    {        //        // GET: /guests/        public ActionResult Guest()        {            mytestContext db = new mytestContext();            guests guest = db.guests.FirstOrDefault();            return View(guest);        }        [HttpPost]        public ActionResult Guest(guests guests)        {            if(ModelState.IsValid)            {                return Content("success");            }            else            {                if(string.IsNullOrEmpty(guests.name))                {                    ModelState.AddModelError("name","姓名不能为空");                }                             }            return View();        }        protected override void HandleUnknownAction(string actionName)        {            Response.Redirect("https://www.baidu.com/");        }    }   }

这样 就在我们找不到action的时候   跳转到百度去

114846_fBEl_2494395.png

转载于:https://my.oschina.net/u/2494395/blog/1555336

你可能感兴趣的文章
Python结构化编程
查看>>
zabbix的主动模式和被动模式|添加监控主机 |添加自定义模板|处理图形
查看>>
“伴侣”机器人问世 宅男宅女们这下有福了!
查看>>
我的友情链接
查看>>
Android开发 - 更"聪明"的申请权限方式
查看>>
SVN配置安装
查看>>
linux系统及特性简单介绍
查看>>
linux基础命令 grep
查看>>
CNCF启动K8s软件一致性项目,Rancher入选全球首批K8s认证平台
查看>>
制造业信息化到底需要的是什么?
查看>>
近期用到的linux命令
查看>>
用户和组的的权限
查看>>
下拉框
查看>>
Linux JDK安装及环境变量配置
查看>>
十一月个人考核
查看>>
2-3-运维必备核心技能-nginx配置文件全面讲解
查看>>
对Docker了解多少?10分钟带你从入门操作到实战上手
查看>>
SCI《科学引文索引》
查看>>
老男孩Python自动化开发12期完整版(含作业代码课件)
查看>>
实现Bootstrp的Switch效果
查看>>