当逻辑出现错误时候,地址栏url不变,视图跳转到错误页面定义的视图,并返回提示消息
即:
控制器层传2个参数(视图名称,错误消息)然后把错误消息 渲染给 错误页视图,而地址栏url不变。视图路径是动态查找的
直接看代码
本来是访问Index 然后我是返回的Error
public ActionResult Index() { var msg = new Msg {Test = "测试错啦"}; return PartialView("error", msg); //这里用View也是可以的 }
Msg就是一个model 只有一个Test属性
然后你需要在error的cshtml中加入@model xxx.Models.Msg 就可以通过@Model得到Msg对象
@model MvcApplication.Models.Msg
<div> 错误页面消息:@Model.Test </div>
不行。
你得使用 Partial View,也就是我们常说的局部刷新。
可以实现的,有个哥们儿就写出来了
@背叛的冲刷:
我能告诉你它就是一个视图,只是返回不同的内容,而从没做任何跳转吗?
请问,你说的“跳转”具体是什么含义?
你能不能别自己想解决方案,只说出你的需求?
@Launcher: 控制器层传2个参数(视图名称,错误消息)然后把错误消息 渲染给 错误页视图,而地址栏url不变。视图路径是动态查找的
@背叛的冲刷: 我想到三种方式:
1、使用 Partial View;
2、在 View 中根据 ViewModel 的值生成不同的 HTML 代码;
3、在 Asp.Net MVC 中模拟 Server.Transfer 功能,参照:http://stackoverflow.com/questions/799511/how-to-simulate-server-transfer-in-asp-net-mvc;
Server.Transfer会帮到你,你可以自定义实现一个ServerTransfer类型的ActionResult