Asp.net MVC Render及Redirect的扩展

简介: 这个是Redirect的扩展namespace System.Web.Mvc {     using System;     ///      /// 对Controller的Redirect操作的扩展     /// blog:http://chsword.
这个是Redirect的扩展
namespace  System.Web.Mvc
{
    
using  System;
    
///   <summary>
    
///  对Controller的Redirect操作的扩展
    
///  blog: http://chsword.cnblogs.com/
    
///   </summary>
     public   static   class  RedirectExtension
    {
        
///   <summary>
        
///  重定向到上一个Action. 即 header 的 "HTTP_REFERER"  ( <c> Context.UrlReferrer </c> ).
        
///   </summary>
         static   public   void  RedirectToReferrer( this  Controller controller) {
            controller.Response.Redirect(controller.Request.ServerVariables[
" HTTP_REFERER " ]);
        }
        [Obsolete(
" 已经过时请使用RedirectToReferrer " )]
        
static   public   void  RedirectToReferer( this  Controller controller)
        {
            RedirectToReferrer(controller);
        }
        
///   <summary>  
        
///  Redirect 到站点根目录 ( <c> Context.ApplicationPath + "/" </c> ).
        
///   </summary>
         static   public   void  RedirectToSiteRoot( this  Controller controller) {
            controller.Response.Redirect(controller.Request.ApplicationPath 
+   " / " );
        }

    }
}

Pv3中已经有了,不过void的情况下不支持,还是有其可用性的


namespace
 System.Web.Mvc
{
    
using  System;
    
using  System.Text;
    
using  System.Web.Script.Serialization;
    
using  System.Runtime.Serialization.Json;
    
///   <summary>
    
///  对RenderView的扩展
    
///  blog: http://chsword.cnblogs.com/
    
///   </summary>
     static   public   class  RenderExtension
    {
        
///   <summary>
        
///  显示要显示的文本
        
///   </summary>
        
///   <param name="c"></param>
        
///   <param name="str"> 文本内容 </param>
        [Obsolete( " 仅在Asp.net Mvc Preview2中使用,PV3中已经提供新的方法Content " )]
        
static   public   void  RenderText( this  Controller c,  string  str)
        {
            c.HttpContext.Response.Write(str);
        }
        
///   <summary>
        
///  将要显示的对象以JSON返回要客户端
        
///   </summary>
        
///   <param name="c"></param>
        
///   <param name="data"> 要发送的对象 </param>
        [Obsolete( " 仅在Asp.net Mvc Preview2中使用,PV3中已经提供新的方法Json " )]
        
public   static   void  RenderJSON( this  Controller c,  object  data)
        {
           
c.RenderJSON(data,  null );
        }
        
///   <summary>
        
///  将要显示的对象以JSON返回要客户端
        
///   </summary>
        
///   <param name="c"></param>
        
///   <param name="data"> 要发送的对象 </param>
        
///   <param name="contenttype"> 传送的Content-Type默认为application/json </param>
        [Obsolete( " 仅在Asp.net Mvc Preview2中使用,PV3中已经提供新的方法Json " )]
        
public   static   void  RenderJSON( this  Controller c,  object  data,  string  contenttype)
        {
           
c.RenderJSON(data, contentType,  null );
        }
        
///   <summary>
        
///  将要显示的对象以JSON返回要客户端
        
///   </summary>
        
///   <param name="c"></param>
        
///   <param name="data"> 要发送的对象 </param>
        
///   <param name="contenttype"> 传送的Content-Type为空则默认为application/json </param>
        
///   <param name="encoding"> 编码方式 </param>
        [Obsolete( " 仅在Asp.net Mvc Preview2中使用,PV3中已经提供新的方法Json " )]
        
public   static   void  RenderJSON( this  Controller c,  object  data,  string  contenttype, Encoding encoding)
        {
            HttpResponseBase response 
=  c.HttpContext.Response;
            
if  ( ! string .IsNullOrEmpty(contenttype))
            {
                response.ContentType 
=  contenttype;
            }
            
else
            {
                response.ContentType 
=   " application/json " ;
            }
            
if  (encoding  !=   null )
            {
                response.ContentEncoding 
=  encoding;
            }
            
if  (data  !=   null )
            {
                
            DataContractJsonSerializer sr = new DataContractJsonSerializer(typeof(object));
                sr.WriteObject(response.OutputStream, data);
            }
        }
    }
}
目录
相关文章
|
2天前
|
前端开发 Java 应用服务中间件
Springboot对MVC、tomcat扩展配置
Springboot对MVC、tomcat扩展配置
|
2天前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
48 0
|
2天前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
23 0
|
2天前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
32 0
|
2天前
mvc.net分页查询案例——mvc-paper.css
mvc.net分页查询案例——mvc-paper.css
5 0
|
2天前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
121 5
|
2天前
|
XML 前端开发 定位技术
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
32 0
|
2天前
|
前端开发
.net core mvc获取IP地址和IP所在地(其实是百度的)
.net core mvc获取IP地址和IP所在地(其实是百度的)
128 0
|
前端开发 数据安全/隐私保护
net MVC中的模型绑定、验证以及ModelState
net MVC中的模型绑定、验证以及ModelState 模型绑定 模型绑定应该很容易理解,就是传递过来的数据,创建对应的model并把数据赋予model的属性,这样model的字段就有值了。
1660 0
|
2天前
|
前端开发
net core mvc获取IP地址和IP所在地(其实是百度的)
net core mvc获取IP地址和IP所在地(其实是百度的)
19 0