Controller 中Action 返回值类型 及其 页面跳转的用法

时间:2021-11-25 18:54:03
 
 
•Controller 中Action 返回值类型

View – 返回  ViewResult,相当于返回一个View 页面.

----------------------------------------------------------------------------------------------------

Redirect -返回  RedirectResult,跳转到特定的URL.

//return Redirect("/test/index");

----------------------------------------------------------------------------------------------------

RedirectToAction -返回 RedirectToRouteResult ,跳转到其他Action.

return RedirectToAction("About");

----------------------------------------------------------------------------------------------------

RedirectToRoute -返回 RedirectToRouteResult,跳转到其他URL.

return RedirectToRoute(new { controller = "Test", action = "index",page = 2,id=2,name=3}); //http://localhost:2587/Test/index/2?page=2&name=3

RouteValueDictionary rvd = new RouteValueDictionary
{
{"controller", "Test"},
{"action", "index"},
{"page", 2},
{"id", 2},
{"name", 3}
};
return RedirectToRoute(rvd);

  //return Redirect("/test/index");

----------------------------------------------------------------------------------------------------

Json -返回 JsonResult.

public JsonResult Test3()
{
List<string> list = new List<string>();
list.Add("2");
list.Add("3");
return Json(list,JsonRequestBehavior.AllowGet);
}

----------------------------------------------------------------------------------------------------

JavaScriptResult -返回 JavaScriptResult.

public ActionResult Test3()
{

return JavaScript("<script>alert('dd');</script>");

}

JavaScriptResult

查了很多的资料都没有发现JavaScriptResult的实际用法

个人不建议使用JavaScriptResult的文章,因为这样脚本和后台不分离。

很多文章是按一下方式来使用JavaScriptResult的:

Action

public ActionResult GetTime()
{
var script = string.Format("$('#myPnl').html('{0}');", DateTime.Now);
return JavaScript(script);
}

View

@Html.ActionLink("Click Me", "GetTime")

这样的执行结果是页面并不会执行这一段script,而是将这段script作为文件Response出来。

既然执行GetTime这个Action其实取得script这段脚本的文件,那么就可以这样来使用:

<script src="@Url.Action("GetTime")" type="text/javascript"></script>

这样的结果就是该script段可以调用GetTime Action返回的代码段。

----------------------------------------------------------------------------------------------------

Content -返回 ContentResult action result.

/// <summary>
/// http://localhost:1847/Demo/ContentResultDemo
/// </summary>
/// <returns></returns>
public ActionResult ContentResultDemo()
{
string contentString = "ContextResultDemo!";
return Content(contentString);
}

----------------------------------------------------------------------------------------------------

File -返回 FileContentResult, FilePathResult, or FileStreamResult .

/// <summary>
/// http://localhost:1847/Demo/FileContentResultDemo
/// </summary>
/// <returns></returns>
public ActionResult FileContentResultDemo()
{
FileStream fs = new FileStream(Server.MapPath(@"/resource/Images/1.gif"), FileMode.Open, FileAccess.Read);
byte[] buffer = new byte[Convert.ToInt32(fs.Length)];
fs.Read(buffer, 0, Convert.ToInt32(fs.Length) );
return File(buffer, @"image/gif");
} /// <summary>
/// http://localhost:1847/Demo/FilePathResultDemo
/// </summary>
/// <returns></returns>
public ActionResult FilePathResultDemo()
{
//可以将一个jpg格式的图像输出为gif格式
return File(Server.MapPath(@"/resource/Images/2.jpg"), @"image/gif");
} /// <summary>
/// http://localhost:1847/Demo/FileStreamResultDemo
/// </summary>
/// <returns></returns>
public ActionResult FileStreamResultDemo()
{
FileStream fs = new FileStream(Server.MapPath(@"/resource/Images/1.gif"), FileMode.Open, FileAccess.Read);
return File(fs, @"image/gif");
}

Controller 中Action 返回值类型 及其 页面跳转的用法的更多相关文章

  1. Web API中的返回值类型

    WebApi中的返回值类型大致可分为四种: Void/ IHttpActionResult/ HttpResponseMessage /自定义类型 一.Void void申明方法没有返回值,执行成功后 ...

  2. ASP&period;NET Core MVC中的IActionFilter&period;OnActionExecuted方法执行时,Controller中Action返回的对象是否已经输出到Http Response中

    我们在ASP.NET Core MVC项目中有如下HomeController: using Microsoft.AspNetCore.Mvc; namespace AspNetCoreActionF ...

  3. Controller中方法返回值其他类型需要添加jackson依赖

    第一个 第二个: 第三个 https://www.cnblogs.com/codejackanapes/p/5569013.html:json的博客园 springmvc默认的是:2.Jackson: ...

  4. MyBatis中Mapper的返回值类型

    insert.update.delete语句的返回值类型 对数据库执行修改操作时,数据库会返回受影响的行数. 在MyBatis(使用版本3.4.6,早期版本不支持)中insert.update.del ...

  5. ResultMap和ResultType在使用中的区别、MyBatis中Mapper的返回值类型

    在使用mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap,下面说下我对这两者的认识和理解 resultType:当使 ...

  6. springMVC入门(四)------参数绑定与返回值类型

    简介 从之前的介绍,已经可以使用springMVC完成完整的请求.返回数据的功能. 待解决的问题:如何将数据传入springMVC的控制器进行后续的处理,完成在原生servlet/jsp开发中Http ...

  7. Asp&period;net MVC 中Controller返回值类型ActionResult

    [Asp.net MVC中Controller返回值类型] 在mvc中所有的controller类都必须使用"Controller"后缀来命名并且对Action也有一定的要求: 必 ...

  8. SpringMVC中Controller的返回值类型

    Controller方法的返回值可以有以下几种: 1.返回ModelAndView 返回ModelAndView时最常见的一种返回结果.需要在方法结束的时候定义一个ModelAndView对象,并对M ...

  9. ASP&period;NET Core中的Action的返回值类型

    在Asp.net Core之前所有的Action返回值都是ActionResult,Json(),File()等方法返回的都是ActionResult的子类.并且Core把MVC跟WebApi合并之后 ...

随机推荐

  1. jquery slide使用总结

    .slideUp([duration][,complete])--目标元素向上滑入隐藏: .slideDown([duration][,complete])--目标元素向下滑出显示: .slideTo ...

  2. Android中使用POI加载与显示word文档

    最近打算实现一个功能:在Android中加载显示Word文档,当然这里不是使用外部程序打开.查看一些资料后,打算采用poi实现,确定了以下实现思路: 将ftp中的word文档下载到本地. 调用poi将 ...

  3. nginx对网站限速

    注意:nginx 1.1.8 之后的版本的语法改为limit_conn_zone $binary_remote_addr zone=NAME:10m; NAME 就是 zone 的名字限制连接数:要限 ...

  4. node-webkit 新建实例窗口间通信问题解决办法

    终于弄明白这问题了,只要在js文件里加上段代码,就可解决两窗口间通信问题. var str = { username: User.name, userrole: User.role }; var ne ...

  5. web&period;config中sessionState节点的配置方案

    web.config中sessionState节点的配置方案 web.config关于sessionState节点的配置方案,sessionState有五种模式:Custom,off,inProc,S ...

  6. Sublime Text博客插件 --- iblog

    iblog是一款 sublime 博客插件,目前只支持cnblog. 项目地址:https://github.com/iskeeter/iblog 功能介绍 新建和更新cnblog的博客 支持mark ...

  7. 【gm】

    gm : GraphicsMagick for node.js aheckmann/gm imgAreaSelect 图片剪裁 apt-get install imagemagick 执行conver ...

  8. Swagger 生成 ASP&period;NET Web API

    使用 Swagger 生成 ASP.NET Web API 在线帮助测试文档 原文:ASP.NET Web API Help Pages using Swagger作者:Shayne Boyer翻译: ...

  9. spring&plus;hibernate整合:报错org&period;hibernate&period;HibernateException&colon; No Session found for current thread

    spring+hibernate整合:报错信息如下 org.hibernate.HibernateException: No Session found for current thread at o ...

  10. Python学习笔记10-Python MysqlHelper ,MySql 辅助类

    自己写了一个MySql辅助类,有需要的拿走: #--encoding:utf-8-- # import MySQLdb class MySQLHelper: myVersion=0.1 def __i ...